2012-09-30 62 views
4

我使用Google oAuth通過YoutubeAPI獲取用戶信息,但我不知道在獲取access_token以獲取用戶ID後需要做什麼,有人請幫助我。如何使用google oauth登錄後獲取用戶ID

+1

請嘗試打印從OAuth的響應,一旦授權完成的。這會給你從哪裏獲取用戶ID的想法。它應該在響應中的「user_id」標籤內或「raw」標籤內。 – balanv

+0

這是OAuth的 'HTTP登錄後重定向鏈接://本地主機:8888/mbproject /用戶/ oauth2callback碼= 4/NWpMSgUcu9rXTlmWzZc0Zwj_BWYu.kotuJPCNkBYQgrKXntQAax186_w0dAI',它不包括在USER_ID GET參數,只包含'code' –

+0

其實我使用軌道..我可以看到在'request.env [「omniauth.auth」]結果轉儲'嘗試在您的服務器代碼..實際上你的後端服務器腳本是什麼? – balanv

回答

4

有關如何獲取登錄用戶的信息,請參閱Google的OAuth2 documentation

它基本上只是一個帶有正確訪問令牌的https://www.googleapis.com/oauth2/v1/userinfo GET調用。在響應中包含用戶標識。

請注意,您還需要在你的第一個重定向到谷歌的正確範圍:

https://www.googleapis.com/auth/userinfo.profile 
1

您可以執行下列操作之一:

  1. 執行上www.googleapis.com/oauth2/v1/userinfo
  2. 解碼您在初始請求得到id_token一個GET,使用JWT庫

我推薦後者,因爲它是更強大,不需要額外通話。

更多信息請參見本主題:How to identify a Google OAuth2 user?

相關問題