【问题标题】:Best practice in storing and using a OAuth2 Token in Android?在 Android 中存储和使用 OAuth2 令牌的最佳实践?
【发布时间】:2014-09-28 22:58:10
【问题描述】:

我有一个通过 REST api 与 Node.js 后端对话的 android 应用程序。我们使用从 Google 收到的 OAuth 令牌进行授权,并且我们已就每次发出请求时在 HTTP 请求中使用令牌的流程达成一致。

那么,存储令牌的最佳做法是什么? -

a) 将令牌存储在 SharedPreference 中,并在进行网络调用的 Activity 中使用相同的 SharedPrefrence。

b) 使用 POJO 存储它,并使用 getter 和 setter 检索和清除令牌。

我刚刚开始在 Android 中使用与网络相关的迷你项目。因此,这可能是一个非常基本的问题。非常感谢任何帮助。

谢谢

【问题讨论】:

    标签: java android oauth-2.0 storage access-token


    【解决方案1】:

    您如何检索令牌或进行授权?

    如果您使用GoogleAuthUtilGoogleAccountCredential API,令牌的持久性由 API 自己自动管理。

    您不应该被要求手动完成。

    请参阅此问题关于使用哪个:

    Access to Google API - GoogleAccountCredential.usingOAuth2 vs GoogleAuthUtil.getToken()

    【讨论】:

    • 感谢您的链接。你几乎问了我想要的一切。在这种情况下,我使用 GoogleAuthUtil 并将检索到的令牌存储为字符串(根据 developer.android.com 中的示例代码)。现在我想每次我必须进行网络调用时我都必须手动传递这个令牌,但是从你的链接中我发现了一个名为 GoogleAuthUtil.getToken() 的东西,我相信我可以在任何活动中使用它。让我玩弄一下,如果我成功了,我会回来并将您的答案标记为正确的答案。谢谢!!
    • 是的,实际上您在任何时候都不需要致电getToken()。您可以使用这些包装器来调用 Google API。 API 将自动代表用户请求令牌,如果它不存在并持久化它。如果用户已经授权该应用程序,它将在过期后自动重新获取。
    猜你喜欢
    • 2018-01-05
    • 2011-06-28
    • 2020-11-03
    • 2012-12-04
    • 2014-06-01
    • 2020-05-02
    • 2014-10-01
    • 2012-08-02
    • 1970-01-01
    相关资源
    最近更新 更多