#python #oauth #access-token #google-openid
#python #oauth #access-token #google-OpenID
Вопрос:
У меня есть веб-сайт, с которого я хочу, чтобы пользователи связывали свою учетную запись GMail, позже я хочу получить доступ к учетной записи GMail пользователей через OAuth. Для этого я использую OpenID OAuth от Google (гибридный протокол).
Когда я следую вышеупомянутой документации, я получаю следующее —
openid.assoc_handle AOQobUfg8E9PvTYX1huZPleVGoSvky57TxLHMzI-Lxd87cDNwLyrutSm
openid.claimed_id https://www.google.com/accounts/o8/id?id=AItOawlus8fqLMQGgfCCM6pDZGpuNjwQqqYMs4o
openid.ext1.mode fetch_response
openid.ext1.type.email http://axschema.org/contact/email
openid.ext1.value.email forward@gmail.com
**openid.ext2.request_token 4/C-VqYG9lRtJBKM9G15I-tFk58rOS**
openid.ext2.scope https://mail.google.com/
openid.identity https://www.google.com/accounts/o8/id?id=AItOawlus8fqLMQGgfCCM6pDZGpuNjwQqqYMs4o
openid.mode id_res
openid.ns http://specs.openid.net/auth/2.0
openid.ns.ext1 http://openid.net/srv/ax/1.0
openid.ns.ext2 http://specs.openid.net/extensions/oauth/1.0
openid.op_endpoint https://www.google.com/accounts/o8/ud
openid.response_nonce 2011-05-07T18:38:37ZOEVDbKdW6d2g9A
openid.return_to https://mysite.com/gmail_redir/
openid.sig niD5l9V7cG LOE2zYjJ6rS0Cdwc=
openid.signed op_endpoint,claimed_id,identity,return_to,response_nonce,assoc_handle,ns.ext1,ns.ext2,ext1.mode,ext1.type.email,ext1.value.email,ext2.scope,ext2.request_token
Я получаю OpenID.ext2.request_token, который должен позволить мне сканировать учетную запись GMail пользователей через OAuth. Как это работает? Разве мне не нужны токены доступа (т.е. oauth_access_secret и oauth_access_token)??
Нужно ли мне делать еще какие-либо запросы? Кто-нибудь знает, как действовать после этого??
Ответ №1:
Как только у вас есть токен, вы должны
- авторизуйте его, а затем
- обменяйте его на токен доступа
Взгляните на http://code.google.com/apis/accounts/docs/OAuth.html#WorkingOauth
или https://developers.google.com/accounts/docs/OAuth2 (для OAuth v2)