2013-03-07 78 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