5

在深入研究实现这个特定设计的细节之前,我想要一些关于我是否正确接近它的建议/验证。我有 Android 的初学者知识,Python、GAE 和 OpenId 的高级初学者。

环境

  • 安卓应用
  • 在 Google App Engine 上使用 Python 构建的 Web 服务
  • 拥有 Google 帐户的用户

设想

我想在我的 Android 应用程序中启用登录功能,而无需在 GAE 中编写我自己的身份验证系统。在应用程序中,用户应该能够以访客身份玩游戏,但不能保存高分。如果用户想要保存他的高分,他将在 Android 设备上针对他的 Google 帐户进行身份验证。在游戏结束时,经过身份验证的用户的高分将通过 Google App Engine 上的游戏网络服务保存(与他的 Google 帐户相关联)。用户还应该能够退出并将设备交给也可以登录、玩游戏并保存与她的 Google 帐户相关联的高分的朋友。

设计

  1. 在 Android 应用程序中,只要用户希望登录,就使用 OpenId 进行身份验证(使用类似于 Nick 在此处发布的内容。
  2. 从返回的 cookie 中获取 OpenId 令牌并将其与当前用户关联。
  3. 对 GAE 服务进行 Web 服务调用,将令牌添加为 cookie 并包括高分
  4. Web 服务将验证令牌是否有效
  5. Web 服务将确定与令牌关联的唯一 Google 帐户 ID(不知道如何执行此操作,但假设应该有办法执行此操作)并根据交叉引用表查找该唯一 ID 以查找用户-game id(之前在帐户设置期间创建)
  6. 保存与游戏内 ID 关联的高分。
  7. 允许注销,以便其他用户可以使用他们的 Google 帐户登录游戏并重复上述过程

谢谢您的帮助

4

2 回答 2

4

您可能会发现2011 Android + App Engine IO谈话很有帮助。

于 2011-08-18T16:14:41.283 回答
0

我会看 Google 的 OpenID 而不是 OAuth。OpenID 是联合登录的协议。请参阅Google 关于 OpenID 的信息

于 2011-08-18T15:25:37.827 回答