web-dev-qa-db-fra.com

Erreur Google OAuth 2.0 redirect_uri_mismatch

  1. J'ai créé Google OAuth 2.0 ClientID et secret dans la console Google Developer.

  2. Après cela, j'ai testé dans Google OAuth playground ( https://developers.google.com/oauthplayground ) . Et enregistré ClientID et secret déjà créés ci-dessus et appliqués au menu de configuration de Google OAuth 2.0.

  3. Certaines personnes disent qu'après avoir créé ClientID/secret, il leur faut un peu de temps pour les tests. Donc après deux jours, j'ai essayé de tester dans les mêmes conditions mais l'erreur est la même redirect_uri_mismatch.

Comment puis-je résoudre ça?

12
sysmoon

Aussi peu que d'avoir un '/' à la fin de votre uri et ne pas avoir le même '/' à la fin de votre code le jettera.

5
RAW

Votre site URL et le Authorized redirect URIs dans la console du développeur doivent correspondre exactement. 

Ce type d'erreur se produit si une URL a www (http://www.example.com) et l'autre URL est non-www (http://example.com). 

Les autres incompatibilités d'URI courantes sont:

  • Utilisation de http:// dans les URI de redirection autorisés et de https:// en tant qu'URL réelle, ou inversement
  • Utilisation de la barre oblique finale (http://example.com/) dans les URI de redirection autorisée et de ne pas utiliser la barre oblique finale (http://example.com) comme URL réelle, ou inversement

Voici la procédure à suivre (avec des captures d'écran) pour mettre à jour les URI de redirection autorisés dans la console pour développeurs Google (pour ceux qui, comme moi, ont trouvé difficile d'accéder à cette page).

  1. Accédez à https://console.developers.google.com

  2. Sélectionnez votre projet

 Select your Project

  1. Cliquez sur l'icône du menu

 Click on the menu icon

  1. Cliquez sur le menu API Manager

 Select API Manager menu

  1. Cliquez sur le menu Credentials. Et sous OAuth 2.0 Client IDs, vous trouverez votre nom de client. Dans mon cas, c'est Web Client 1. Cliquez dessus et une fenêtre contextuelle apparaîtra dans laquelle vous pourrez éditer URI de redirection JavaScript autorisé et Autorisé.

 Select Credentials menu

Voici un article de Google sur la création d'un projet et d'un ID client

5
Mukesh Chapagain

Ce devrait être une correspondance exacte de ce que vous avez donné dans le fichier console.developers.com. 

Dans mon cas, j'ai raté le www dans l'URL.

Par exemple: vous avez donné http://www.google.com mais dans console.developers.com vous avez donné http://google.com

Il va encore jeter l'erreur. Donc, cela devrait être la correspondance exacte.

3
A J

J'ai continué à avoir cette même erreur jusqu'à ce que je réalise que je devais mettre "signin-google" à la fin du paramètre de redirection dans la console de Google API, comme ceci (c'est-à-dire, NOT http://www.example.org/ api ):

http://www.example.org/api/signin-google
2
smoore4

L'URI de redirection (où la réponse OAuth est renvoyée) doit être enregistré dans Console API Google , et l'erreur indique que vous ne l'avez pas fait ou que vous ne l'avez pas fait correctement.

Accédez à la console de votre projet et recherchez sous API Access. Vous devriez voir votre ID client et votre secret là-bas, avec une liste d'URI de redirection. Si l'URI souhaité ne figure pas dans la liste, cliquez sur Éditer les paramètres et ajoutez l'URI à la liste. 

2
DaImTo

Assurez-vous que dans votre google-client-api, la valeur des informations d'identification dans ce champ correspond à ce que vous avez obtenu de Console API Google :

$client->setClientId('xxx.apps.googleusercontent.com');
$client->setClientSecret('xxx');
$client->setRedirectUri('http://example.com/oauth2callback');
$client->setDeveloperKey('xx');

Cela peut se produire lorsque la valeur de setRedirectUri est différente de celle que vous avez définie dans la console de Google API.

0
CK Tan