2014-09-26 47 views
0

我將OAuth1關注到OAuth2遷移文檔,並能夠獲取新的refresh_token和access_tokens。Google OAuth1到OAuth2遷移 - 再次顯示同意屏幕

問題是,Google再次顯示批准屏幕並列出所有範圍。遷移證書的關鍵在於用戶不應該看到批准屏幕。

這裏是遷移我的POST請求:

POST https://accounts.google.com/o/oauth2/token HTTP/1.1 授權:OAuth的境界= 「」,oauth_consumer_key = [CONSUMER KEY] 「oauth_nonce = 」2c06a5da90ec4a62b737bdfb3922d675「,oauth_signature_method =」 HMAC-SHA1" ,oauth_timestamp = 「1411677478」,組oauth_token = 「[OAUTH TOKEN]」,oauth_signature = 「OL%2b2JdOBCKcND8cSHSmHQMRN5NI%3D」 內容類型:應用/ X WWW的窗體-urlencoded主機: accounts.google .com內容長度:194期望值:100繼續 連接:保持活躍 g rant_type =甕%3aietf%3aparams%3aoauth%3agrant型%3amigration%3aoauth1 & CLIENT_ID = & client_secret = [GENERATED SIGNATURE]

更進一步,如果我檢查https://security.google.com/settings/security/permissions?pli=1頁面以查看我已授權訪問哪些應用到那裏,我看到我的新應用程序,以及舊應用程序所具有的所有範圍。

我還相信,我不包括approval_prompt =力

有什麼想法?假設用戶在遷移後不會看到批准屏幕,我錯了嗎?

回答

1

你說得對,遷移憑證的重點是用戶不應該看到審批屏幕。但是,如果您添加了新的範圍,也許使用一些API,則其中大多數需要用戶授予權限,因此將再次顯示批准屏幕。

+0

在這種情況下,它只應顯示新範圍的審批屏幕。我沒有添加任何新的範圍。另外,我確實看到範圍從Google的權限頁面轉移過來,但仍顯示批准屏幕。 – 2014-09-29 19:52:13

1

您能否澄清步驟以及何時用戶看到審批頁面?遷移後,您的OAuth2令牌有哪些範圍?

遷移是針對您存儲在後端的OAuth1令牌。通過遷移步驟,您可以將這些轉換爲OAuth2刷新令牌。您可以開始使用這些來撥打Google API,而無需用戶出現在您的網站上。

根據您獲得這些OAuth1令牌的方式,您需要更改該機制以開始獲取OAuth2令牌。一般而言,您只想爲沒有刷新令牌的用戶執行此操作,因爲沒有意義獲取新的刷新令牌(如果這樣做,他們可能會看到批准屏幕)。