2013-03-07 74 views
1

我在我的android應用程序中使用scribe 1.3.3 for OAuth2。Scribe-java 1.3.3如何記住用戶?

我已經得到完整的流程與谷歌正常工作,我可以要求用戶信息,一切工作正常。

我很好奇如何保持用戶登錄,如果他們關閉應用程序。目前,每次啓動應用程序時,都會提示用戶允許訪問。

我該怎麼做才能讓他們只允許訪問一次,然後我只記得用戶?

回答

3

您不必記住用戶。你所要做的就是記住你第一次獲得的訪問令牌。您可以將其存儲在共享首選項中,並用它來簽署新的請求。

因此,您的活動第一次開始時,您必須檢查令牌是否存儲。只有當令牌爲空時,您纔會要求提供憑證。另請注意,您的令牌可能會過期,如果您遇到401錯誤,您必須重新驗證用戶身份。

PS:我在Android庫包裹隸使之更容易與Android使用:https://github.com/fedepaol/PostmanLib--Rings-Twice--Android

+0

好了,二的問題,我有說: 我如何可以存儲在共享的首選項的訪問令牌。 (考慮到它不是一個字符串,int或類似的東西)? 如果我得到一個401錯誤,我將不得不允許用戶再次訪問? – user1751547 2013-03-07 20:26:09

+0

我已經想出了我的第一個問題的解決方案。我的解決方案是將其序列化爲一個json字符串,然後將其存儲。 – user1751547 2013-03-07 21:57:42

+0

訪問令牌由三個字符串組成:public Token(String token,String secret,String rawResponse)。您可以將它們單獨存儲在共享首選項中,或像您一樣將其序列化。如果您遇到401錯誤,則可能是令牌已過期。在這種情況下,您應該重新認證用戶並獲得新的令牌(與您現在所做的相同)。 – fedepaol 2013-03-07 22:13:44