web-dev-qa-db-fra.com

Google: autorisation refusée de générer un indice de connexion pour le domaine cible PAS sur localhost

J'essaie de créer un compte Google et j'obtiens l'erreur:

Autorisation refusée de générer un indice de connexion pour le domaine cible

Avant de marquer ceci comme un doublon, il s'agit de pas identique à la question posée à l'adresse Erreur de connexion au site Web Google: autorisation refusée de générer un indice de connexion pour le domaine cible car Dans ce cas, le questionneur était sur localhost, alors que je reçois cette erreur sur le serveur.

Plus précisément, j'ai inclus l'URL du serveur dans les origines Javascript autorisées, comme dans l'image suivante: Javascript origins

et quand j’obtiens l’erreur, la requête indique que la même URL a été envoyée, comme dans l’image suivante: Invalid request page

Y a-t-il autre chose que je devrais mettre dans ma page Restrictions? Y a-t-il un moyen de savoir ce qui se passe ici? Existe-t-il un journal sur la console du développeur qui peut me dire ce qui se passe?

39
jimboweb

Ok, j'ai compris cela. J'utilisais une adresse IP (comme dans " http://175.132.64.12 ") pour l'URI de redirection, car il s'agissait d'un site de test sur le serveur en direct, et Google n'accepte que les URL réelles (comme dans " http://mycompany.com " ou " http: // localhost ") comme URL de redirection.

Ce qui, vous le savez, aurait pu être dit quelque part dans la documentation, mais peu importe.

109
jimboweb

Je sais que c’est une vieille question, mais c’est le premier résultat lorsque vous recherchez le problème via Google. Je vais donc partager ma solution avec vous.

Lors du déploiement du service Google OAuth dans un réseau privé, à savoir certaines adresses IP inaccessibles via Internet, vous devez utiliser un service DNS magique, tel que xip.io = Cela vous donnera une adresse URL que votre navigateur résoudra en adresse IP interne. Vous voyez, Google doit pouvoir atteindre votre origine autorisée via votre navigateur, c’est pourquoi la configuration de localhost fonctionne si vous la diffusez sur votre ordinateur, mais cela ne fonctionnera pas lorsque vous déployez en dehors d'Internet, comme dans un VPN, un intranet ou avec un tunnel.

Alors, les étapes:

  1. obtenez votre adresse IP, celle sur laquelle vous déployez et ce n'est pas un domaine public, disons que c'est 10.0.0.1 par exemple.
  2. ajouter http://10.0.0.1.xip.io à vos origines Javascript autorisées sur la console pour développeurs de Google.
  3. ouvrez votre site en visitant http://10.0.0.1.xip.io
  4. effacez votre cache pour le site, si nécessaire.
  5. Connectez-vous avec Google et voilà.

Je suis arrivé à cette solution en utilisant cette réponse dans une autre question.

23
Pablo Albornoz

Si vous utilisez http://127.0.0.1/projects/testplateform , changez-le en http: // localhost /projets/testplateform, ça marche.

11
Tgold brain

Si vous testez sur votre machine (localement). alors n'utilisez pas l'adresse IP (c'est-à-dire http://127.0.0.1:8888 ) dans la configuration de l'ID client, mais utilisez plutôt l'hôte local et cela devrait fonctionner

Exemple: http: // localhost: 8888

8
Qais Ammari

Pour permettre à l'adresse IP d'être utilisée en tant qu'origine javascript valide, ajoutez d'abord une entrée dans votre fichier/etc/hosts.

10.0.0.1 mydevserver.com

puis ajoutez ce domaine mydeveserver.com in Origines Javascript autorisées . Si vous utilisez un port non standard, spécifiez-le avec votre domaine dans Origines Javascript autorisées .

enter image description here

Remarque : Supprimez votre cache et cela fonctionnera.

2
Abdul Mannan

Je viens de rencontrer ce même problème sur un serveur de test externe, sans entrée DNS pour le moment. Si vous avez la permission sur votre machine locale, éditez simplement votre /etc/hosts fichier:

175.132.64.120  www.jimboweb.com

Et utilisez use http://www.jimboweb.com en tant que domaine autorisé.

2
Eric Bridger

J'ai un serveur en réseau privé, ip 172.16.X.X Le problème a été résolu avec app port ssh-forwarding sur mon port localhost. Maintenant, je peux utiliser une application déployée avec Google oauth en naviguant sur localhost.

ssh -N -L8081:localhost:8080 ${user}@${Host}

J'ajoute aussi localhost:8081 vers "Redirection URI autorisée" et "Sources JavaScript autorisées" dans console.developers.google.com :

console des développeurs Google

0
yeagor