web-dev-qa-db-fra.com

Connexion Facebook: impossible de charger l'URL Le domaine de cette URL n'est pas inclus dans les domaines de l'application

Je sais que de nombreuses questions de ce type ont déjà été posées et ont été longuement testées après avoir été postées. Mon problème n'est toujours pas résolu.

J'ai une application Web dans laquelle j'ai intégré la connexion à Facebook à l'aide de l'authentification Oauth. J'ai utilisé le code suivant pour aider Connexion Facebook avec Java

Jusqu'au mois dernier, cela fonctionnait bien, mais après quelques jours, nous avons toujours l'erreur: -

Impossible de charger l'URL Le domaine de cette URL n'est pas inclus dans les domaines de l'application. Pour pouvoir charger cette URL, ajoutez tous les domaines et sous-domaines de votre application au champ Domaines de l'application dans les paramètres de votre application.

**Setting used are following:-
  Website url : **https://www.enggheads.com/**
  App Domain   :  **enggheads.com**
   Redirect uri : 
      1. https://www.enggheads.com/#!login
      2. https://www.enggheads.com/#!signup**

CAPTURES D'ÉCRAN:

 DashBoard

 Basic Setting Of App

 Fblogin setting added from add product on right panel

Donc, je veux juste savoir quelle est la question pourquoi je suis confronté à ce problème. Y at-il quelque chose qui me manque dans la section des paramètres?

METTRE À JOUR

Flux de code: 

Étape 1. Sur le bouton, cliquez sur l'URL appelée ---> 

"http://www.facebook.com/dialog/oauth?" + "client_id="
                    + FB_APP_ID + "&redirect_uri="
                    + URLEncoder.encode(REDIRECT_URI, "UTF-8")
                    + "&scope=public_profile ";

Je reçois une erreur sur cette partie même où cela donne l'erreur URL impossible à charger Le domaine de cette URL n'est pas inclus dans les domaines de l'application. Pour pouvoir charger cette URL, ajoutez tous les domaines et sous-domaines de votre application au champ Domaines de l'application dans les paramètres de votre application.

16
Vartika

Je veux partager 2 façons de faire la solution. J'espère que cela résoudra votre problème.

Solution 1:

Facebook définit maintenant certaines fonctionnalités comme des plugins. Dans la partie gauche, sélectionnez Produits et ajoutez un produit. Puis sélectionnez Facbook Login. Assez simple à partir de là, vous verrez toutes les options de Oauth apparaître.

OU,

Sélectionnez les produits et ajoutez le produit. Puis sélectionnez Facbook Login.

Puis ajouté http: // localhost: 3000/ au champ 'Valid OAuth redirect URIs', puis tout a fonctionné.

Solution 2:

Cela se produit généralement si vous avez entré des informations erronées lors de la création de l'application dans Facebook. Ou avez-vous changé les URL d'une application existante?

Pouvez-vous s'il vous plaît revérifier les paramètres de votre application dans cette page?

https://developers.facebook.com/apps

  1. Sélectionnez la bonne application et cliquez sur le bouton Modifier.
  2. Vérifiez que les URL et les chemins sont correctement entrés et pointent vers le site où vous avez installé le plug-in Ultimate Facebook.

Le crédit va à Lei lionel

UPDATE1:

Je pense que votre jeton d'accès expire déjà. Vous devez donc étendre le jeton d'accès . Pour cela, veuillez suivre ce lien:

  1. Étendre le jeton d'accès à Facebook (60 jours pour le dernier)
  2. Expiration et extension des jetons d'accès

Lien de ressource:

  1. Génère un jeton d'accès "Never-Expire" pour la page Facebook
  2. Les jetons d'accès Facebook Oauth 2.0 expirent-ils?

UPDATE2:

Je veux juste demander une chose de plus est-il possible l'erreur de domaine d'application a t-il à voir avec le délai d'expiration du jeton d'accès?

Ans:

Génération de jetons utilisateur à longue durée de vie à partir de jetons à longue durée de vie côté serveur

Facebook dispose d'une option avancée pour obtenir des jetons d'accès de longue durée pour les applications qui:

  1. Avoir son propre système d'authentification (en utilisant un nom d'utilisateur/mot de passe pour Exemple)
  2. Stocker, sur leurs serveurs, un jeton d’accès Facebook pour les personnes qui l’utilisent Qu’ils envoient à différents clients (navigateur ou applications mobiles natives)
  3. Faire des appels API à partir de tous ces clients

Si votre application est configurée de la sorte, vous devez utiliser le processus décrit ici pour obtenir un jeton d'accès de chaque client afin d'éviter de déclencher les systèmes de spam automatisés de Facebook. Le résultat final sera que chaque client aura son propre jeton d'accès de longue durée.

Voici comment vous pouvez obtenir un jeton de longue durée auprès du client:

  1. Appelez le serveur de Facebook depuis votre serveur en utilisant un jeton valide et actuel de longue durée pour générer un code. (Cela suppose que Ait déjà obtenu un jeton de longue durée via Facebook. Si le jeton Que vous utilisez est invalide ou arrivé à expiration, vous devrez en obtenir un nouveau. personne utilisant votre application, connectez-vous à nouveau.)
  2. Envoyez ce code en toute sécurité au client.
  3. Le client échange ensuite le code contre un jeton de longue durée.
  4. Le client peut utiliser le jeton de longue durée pour publier des histoires ou des requêtesdata.

Obtenir le code

À l'aide d'un jeton d'accès utilisateur de longue durée, appelez le noeud final suivant:

https://graph.facebook.com/oauth/client_code?access_token=...&client_secret=...&redirect_uri=...&client_id=...

Vous devez entrer: access_token, client_secret, redirect_uri and client_id.

La réponse sera:

La réponse ressemblera à quelque chose comme:

{"code": "...."}

Utiliser le code pour un jeton d'accès

Une fois que vous avez récupéré le code du serveur de Facebook, vous devez l'envoyer au client via un canal sécurisé. Une fois que cela est fait, vous devez faire une demande du client à ce noeud final:

https://graph.facebook.com/oauth/access_token?code=...&client_id=...&redirect_uri=...&machine_id= ...

L'appel nécessite les arguments suivants:

client_id - Oui

code - oui

redirect_uri - Oui

machine_id - No

La réponse ressemblera à ceci:

{"access_token":"...", "expires_in":..., "machine_id":"..."}
18
SkyWalker

J'avais un tel problème car dans l'URL de redirection oauth, je ne mettais que: - http://example.com/#/redirect-url Je devais aussi mettre: - http://example.com

Même si je veux seulement rediriger vers/#/redirect-url. Peut-être que les sites ajax causent des problèmes.

1
Rolintocour

Si vous avez des paramètres de requête dynamiques dans votre URI de redirection, ceux-ci doivent alors figurer dans le paramètre state de la demande d'autorisation. 

Pour plus de détails, consultez ma réponse à un message similaire.

0
chess4ever

Collez l'URL de la page où vous souhaitez utiliser le bouton de connexion à Facebook dans la zone de texte URI de redirection OAuth valide dans les paramètres OAuth client de l'application facebook. Ensuite, cela fonctionnera parfaitement.

0
Ashif Ali

Set No: Utilisez le mode strict pour la redirection d'URI  See this image

Conservez également les URI de redirection OAuth valides: identiques à votre URL principale.

0
tohid

Mon problème était que je n'avais pas spécifié redirect_uri qui est requis si l'utilisateur n'est pas connecté à Facebook.

0