Connexion à Google via OAuth 2 “valeur de paramètre non Valide pour redirect_uri: Manque d'autorité: ”
Je suis en train d'essayer de se connecter à Google via OAuth2. Je suis à l'aide de code qui fonctionne dans une autre application, donc je suis assez sûr que le problème est dans la configuration de Google.
Je me suis inscrit à un client-id et la clé secrète dans le Google de la Console auquel j'ai ajouté de l'autorisation config:
var client = new GoogleOAuth2Client("[client id].apps.googleusercontent.com", "[secret key]");
var extraData = new Dictionary<string, object>();
OAuthWebSecurity.RegisterClient(client, "Google", extraData);
Malheureusement, lorsque j'appuie sur le bouton pour vous connecter, j'obtiens l'erreur suivante:
- C'est une erreur.
Erreur: invalid_request
Valeur de paramètre non valide pour redirect_uri: Manque d'autorité:
file:///Compte/ExternalLoginCallback%3FReturnUrl=/Détails de la Demande
portée=https://www.googleapis.com/auth/userinfo.profile
https://www.googleapis.com/auth/userinfo.emailresponse_type=code
redirect_uri=file:///Compte/ExternalLoginCallback%3FReturnUrl=/
état=fournisseur de=google&sid=[nombre]
client_id=[id client].des apps.googleuserconte
J'ai essayé de changer le localhost paramètre dans /etc/hosts
fichier à d'autres de la base des Url et j'ai ajouté ces endroits pour rediriger les Uri dans Google Console comme suit:
http://localhost:8080/Account/ExternalLoginCallback%3FReturnUrl=/
http://localhost.example.com:8080/Account/ExternalLoginCallback
http://localhost.example.com:8080/Account/ExternalLoginCallback%3FReturnUrl=/
L'erreur persiste. Je ne sais pas ce que le problème peut être et j'espère que quelqu'un peut me donner quelques conseils. Grâce
OriginalL'auteur Erwin Rooijakkers | 2014-12-24
Vous devez vous connecter pour publier un commentaire.
La valeur de la
redirect_uri
paramètre dans la demande d'autorisation est envoyée à Google lorsque vous appuyez sur le bouton pour vous connecter doit être l'une des valeurs que vous avez enregistré pour vous client dans l'API de Google Console. Ainsi, au lieu du décès:vous devez passer par exemple
mais correctement URL-encodé donc:
Voir un exemple de code: https://github.com/mj1856/DotNetOpenAuth.GoogleOAuth2/blob/master/DotNetOpenAuth.GoogleOAuth2/GoogleOAuth2Client.cs
OriginalL'auteur Hans Z.