0

我已经阅读了很多关于将 OAuth2.0 与 google 端点一起使用的内容,以至于我头晕目眩。我还阅读了需要 SignIn 的 Android 应用程序的 OpenID。也许我在兜圈子;我不知道。所以也许这里有人可以真正帮助我。

通常,当我开发后端时,我会推出自己的用户身份验证协议。就像是:

  • 注册:用户POST注册表到我的后端;后端将用户添加到user_db:电子邮件,用户名,密码等。

  • 登录:用户POST登录表单(用户名、密码);后端返回令牌;用户使用令牌随后调用我的后端 api 来访问任何内容;直到用户注销。

但我现在正在专门为移动应用开发一个后端:带有应用引擎后端的安卓移动应用,该后端使用 python 和 google-endpoint 注释构建。因此,我不想拥有一个典型的Login or Register页面,而是想外包用户登录:我希望用户使用他们的谷歌帐户通过OAuth2.0. 所以新的流程是这样的:

  • 用户从 Google Play 下载我的应用
  • 用户使用 google OAuth2.0 登录(或者我的应用程序会自动登录?--首选)
  • 使用从Google OAuth2.0用户获得的令牌(?)可以访问我的后端 api 来做任何事情。

所以很自然我的问题是:成功完成此任务的人会用一些代码分享他们的智慧吗?另外,请解释我的后端如何知道用户确实经过身份验证。用户注销怎么样,我要处理吗?这又是一个带有应用引擎后端(使用端点注释)的 android 应用。

4

1 回答 1

1

我可以用一组新的项目符号回答您的部分问题:

新的流程将是这样的:

  • 用户下载应用(接受 GET_ACCOUNTS 和 USE_CREDENTIALS 权限)
  • 用户第一次运行应用程序(激活它)。
    (您的应用现在有权针对此设备上的 Google 帐户进行身份验证。)
  • 如果用户有多个 Google 帐户,您可以询问他们使用哪个帐户。
  • 您验证所选的 Google 帐户。
    (您需要的代码示例在这里。)
  • 您的服务器代码接收 App Engine 'User' 对象作为 Endpoint 调用的第一个参数。

上面的链接也指向井字游戏示例。它的后端是用 Java 编写的,但它应该对你仍然有用,尤其是 Android 的东西。当我因阅读而头晕目眩时,是时候开始编码了。

于 2013-03-19T20:45:56.437 回答