2011-02-04 3 views
1

J'utilise le protocole hybride (OpenId + OAuth). Après avoir redirigé l'utilisateur vers «https://www.google.com/accounts/o8/ud» avec tous les paramètres d'extension openid et oauth, l'utilisateur peut voir l'écran de connexion et les services auxquels j'ai besoin d'accéder. En connexion Successfull Je reçois la réponse suivante comme:Google GetAccessToken: Bad Request 400

http://muUrl.com/...&openid.ns.ext2=http://specs.openid.net/extensions/oauth/1.0&openid.ext2.scope=http://docs.google.com/feeds/& openid.ext2.request_token = 4/8GCHDIvtxhbg8gVkfYro7QIFakoB

Je comprends l'utilisateur est correctement connecté et le texte en gras est autorisé jeton. Ensuite, je fais appel pour obtenir le jeton d'accès avec tous les paramètres sauf oauth_verifier car ce n'est pas disponible en mode hybride. Je signe la chaîne de base en utilisant HMAC-SHA1 avec la clé comme "consumersecret &" (secret de jeton n'est pas encore disponible)

Je reçois 400 mauvaise demande avec la signature invalide. Toute aide ou suggestion est très appréciée pour résoudre ce problème.

+0

Vérifiez votre pourcentage d'échappement. Les tokens de Google ont beaucoup de caractères spéciaux et il est facile d'oublier de leur échapper correctement. Cela empêchera les signatures de correspondre. Si cela ne fonctionne pas, vous allez vraiment devoir ajouter plus d'informations à votre question. Il n'y a pas assez d'informations ici pour déboguer un problème OAuth avec succès. –

+0

merci ... c'était problème d'encodage seulement. – helloworld

+1

mais où écrivez-vous le codage? C'est Google classes ... Je reçois un code comme celui-ci 'code = 4/Ryjbc-ykPJvJhhonyYiN3359rofU.8r0nRibOcg0TOl05ti8ZT3aNCxetdQI' - pensez-vous qu'il devrait être encodé? – OhadR

Répondre

1

pls voir Bob et mes commentaires. % d'échappement peut être un problème si vous faites face au même problème que le mien. oauth_verifier n'est en effet pas requis en mode hybride.

Questions connexes