gpt4 book ai didi

android - 允许用户使用他们的 Google 凭据访问您的应用程序的最佳方式

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:57:37 24 4
gpt4 key购买 nike

如果您有一个需要用户注册的 Android 应用程序,并且您希望允许您的用户通过 Google 登录,您会如何处理?

我不想在这里讨论 Google+ 登录。我们也不会使用用户凭据来访问 Google API,而且我对额外访问 Google+ 的社交功能不感兴趣。

似乎有很多选择:

使用OAuth2.0进行身份验证

记录在 Google OAUth2 Login 中页

这并没有真正提到 Android,但它(部分)基于 OAuth2 访问 token ,但更重要的是基于 JSON Web token id_token 的验证。

这种对用户进行身份验证的方式还涉及启动 WebView 以允许用户登录其 google 帐户以及对 id_token 进行相当复杂的验证。

使用 OAuth2/Google Play 服务

Google Play 服务中有一个示例更侧重于授权。它使用 GoogleAuthUtil.getToken 来检索 access_token。它的一部分肯定是身份验证,因为对话框指出“登录到...”。

enter image description here

我认为使用带有 access_token 的 OAuth2.0 流程作为身份验证机制是一种不好的做法是否正确? (将访问 token 存储为身份验证 token )。

支持 Facebook/Twitter 登录

我问的原因是因为 Twitter 和 Facebook 建议您实现“使用...登录”身份验证过程的方式

这似乎也完全基于 OAuth 访问 token 。

还有我不知道的任何其他选项可以让您使用他们的 google 帐户对用户进行身份验证吗?

最佳答案

你需要的是这个 http://android-developers.blogspot.com/2013/01/verifying-back-end-calls-from-android.html

即获取 ID token 并使用它登录到您的应用程序的后端。

你是对的。通常,使用访问 token 进行身份验证不是一个好主意。我们已经做了多个演示来提醒开发人员注意它。 https://docs.google.com/presentation/d/1klTZheiQIhcty6MKvTYS12cw1Vyn4T1R4d60QCRYM60/edit?usp=drive_web

如果没有其他选择并且只有一个访问 token ,您可以进行一些额外的验证以使用它登录并缓解潜在的安全问题。在 OpenIDCOnnect 中设计 ID Token 是有原因的,那就是用于身份验证。

关于android - 允许用户使用他们的 Google 凭据访问您的应用程序的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17629752/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com