在Android中存储和使用OAuth2令牌的最佳实践是什么?

5
我有一个与Node.js后端通过REST api交互的Android应用程序。我们使用从Google接收的OAuth令牌进行授权,并且我们已经同意在每次请求时使用HTTP请求中的令牌流程。那么,最佳实践是将令牌存储在哪里?-
a)将令牌存储在SharedPreference中,并在发出网络请求的活动中使用相同的SharedPreference。
OR
b)使用POJO存储它,并使用getter和setter检索和清除令牌。
我刚开始学习Android中的网络相关小项目。因此,这可能是一个非常基础的问题。感谢您提供任何帮助。
谢谢
1个回答

2
您好,需要翻译的文本如下:

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

如果您正在使用GoogleAuthUtilGoogleAccountCredential API,令牌的持久性将自动由API本身管理。

您不需要手动执行此操作。

请参阅以下问题以了解应使用哪个API:

访问Google API - GoogleAccountCredential.usingOAuth2 vs GoogleAuthUtil.getToken()

其中,“GoogleAuthUtil”和“GoogleAccountCredential”是Google提供的API,用于在Android应用程序中实现用户授权和访问Google服务。

谢谢提供链接。你在那里几乎回答了我想问的所有问题。在这种情况下,我正在使用 GoogleAuthUtil 并将检索到的令牌存储为字符串(根据 developer.android.com 中的示例代码)。现在我认为每次需要进行网络调用时都必须手动传递此令牌,但是从您的链接中我发现了一些称为 GoogleAuthUtil.getToken() 的东西,我相信我可以在任何活动中使用它。让我试试,如果成功,我会回来并将您的答案标记为正确的答案。谢谢! - RmK
实际上,您不需要在任何时候调用 getToken()。您只需利用这些包装器来调用 Google API。如果用户没有令牌,则API会自动代表用户请求令牌并将其持久化。如果用户已经授权了应用程序,则一旦令牌过期,API将自动重新获取它。 - Madhur Ahuja

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接