【发布时间】:2013-01-09 19:25:08
【问题描述】:
我用 nodeJs 开发了一个 Web 应用程序。大多数功能都经过身份验证。我使用 Oauth2(Google、Twitter)来授权用户使用该应用程序。
我必须创建一个 Android 应用程序,在用户在 Android 应用程序中使用 Google 帐户进行身份验证后,它通过 http 与我的后端通信。
最好的做法是什么?
我认为 OAuth2 很适合这项工作。但是怎么做呢?
【问题讨论】:
我用 nodeJs 开发了一个 Web 应用程序。大多数功能都经过身份验证。我使用 Oauth2(Google、Twitter)来授权用户使用该应用程序。
我必须创建一个 Android 应用程序,在用户在 Android 应用程序中使用 Google 帐户进行身份验证后,它通过 http 与我的后端通信。
最好的做法是什么?
我认为 OAuth2 很适合这项工作。但是怎么做呢?
【问题讨论】:
在这种情况下,您不能真正使用 oauth。正如How can I verify a Google authentication API access token? 解释的那样,您不应该共享身份验证。
相反,您应该让您的移动应用对后端请求使用单独的身份验证。您可以让他们登录一次,生成一些可以存储在手机中的秘密令牌,这样他们就不需要每次都登录。无论如何,该令牌受到谷歌登录的保护。
【讨论】:
您可能需要考虑使用PassportJS(如果您使用 ExpressJS 作为您的 Web 应用程序框架)。
【讨论】: