2012-05-21 199 views
0

如何延長谷歌帳戶訪問令牌的使用壽命我使用gwt-oauth2-0.2來獲取訪問令牌,但問題是它很快就會過期。我想要獲得具有延長使用壽命的令牌,不會過期。Google帳戶訪問令牌

回答

1

由於這是GWT代碼,它在客戶端使用客戶端JavaScript執行。從客戶端JavaScript中獲取長壽命的訪問令牌是不可能的。當前頒發的令牌持續60分鐘 - 並且您可以隨後在沒有任何用戶交互的情況下獲取另一個令牌(因爲該用戶已經批准了OAuth許可請求)。這應該足以讓所有客戶端訪問用戶的數據。

如果您習慣使用服務器端代碼,則可以使用OAuth 2.0 flow for server-side web applications,並指定access_type=offline。這會爲您提供一個作爲查詢參數傳遞的授權代碼 - 然後您將進行服務器到服務器的調用,以交換訪問令牌的授權代碼。您第一次爲特定用戶交換代碼時,您還將獲得刷新令牌。儘管訪問令牌將過期,但刷新令牌可以無限期地使用,通過簡單地進行服務器到服務器的調用來爲該用戶獲取新的訪問令牌。

+1

「以後你總是可以在沒有任何用戶交互的情況下獲得另一個標記」:當我嘗試使用oauth2-0.2獲取一個訪問標記時,它會打開一個彈出窗口。所以即使用戶已經批准了授權請求,它仍然會打開一個彈出窗口並立即關閉。有沒有辦法繞過這個? – allenylzhou

相關問題