如果您有一个需要用户注册的 Android 应用程序,并且您希望允许您的用户通过 Google 登录,您将如何处理?
我想让 Google+ 登录不参与此处的讨论。我们也没有使用用户凭据来访问 Google API,我对额外访问 Google+ 的社交功能不感兴趣。
似乎有很多选择:
使用 OAuth2.0 进行认证
记录在Google OAUth2 登录页面中
这并没有真正提到 Android,但它(部分)基于 OAuth2 访问令牌,但更重要的是基于 JSON Web 令牌 id_token 的验证。
这种对用户进行身份验证的方式还涉及启动 WebView 以允许用户登录到他们的 google 帐户以及对 id_token 进行相当复杂的验证。
使用 OAuth2 / Google Play 服务
Google Play Services 中有一个更侧重于授权的示例。它使用 GoogleAuthUtil.getToken 来检索 access_token。其中一部分肯定是身份验证,因为对话框指出“登录到...”。
我是否正确地认为使用带有 access_token 的 OAuth2.0 流作为身份验证机制是一种不好的做法?(将访问令牌存储为身份验证令牌)。
支持 Facebook / Twitter 登录
我问的原因是因为 Twitter 和 Facebook 建议您实施“使用 ... 登录”身份验证过程的方式
这似乎也完全基于 OAuth 访问令牌。
我不知道的任何其他选项允许您使用他们的谷歌帐户对用户进行身份验证?