在深入研究实现这个特定设计的细节之前,我想要一些关于我是否正确接近它的建议/验证。我有 Android 的初学者知识,Python、GAE 和 OpenId 的高级初学者。
环境
- 安卓应用
- 在 Google App Engine 上使用 Python 构建的 Web 服务
- 拥有 Google 帐户的用户
设想
我想在我的 Android 应用程序中启用登录功能,而无需在 GAE 中编写我自己的身份验证系统。在应用程序中,用户应该能够以访客身份玩游戏,但不能保存高分。如果用户想要保存他的高分,他将在 Android 设备上针对他的 Google 帐户进行身份验证。在游戏结束时,经过身份验证的用户的高分将通过 Google App Engine 上的游戏网络服务保存(与他的 Google 帐户相关联)。用户还应该能够退出并将设备交给也可以登录、玩游戏并保存与她的 Google 帐户相关联的高分的朋友。
设计
- 在 Android 应用程序中,只要用户希望登录,就使用 OpenId 进行身份验证(使用类似于 Nick 在此处发布的内容。
- 从返回的 cookie 中获取 OpenId 令牌并将其与当前用户关联。
- 对 GAE 服务进行 Web 服务调用,将令牌添加为 cookie 并包括高分
- Web 服务将验证令牌是否有效
- Web 服务将确定与令牌关联的唯一 Google 帐户 ID(不知道如何执行此操作,但假设应该有办法执行此操作)并根据交叉引用表查找该唯一 ID 以查找用户-game id(之前在帐户设置期间创建)
- 保存与游戏内 ID 关联的高分。
- 允许注销,以便其他用户可以使用他们的 Google 帐户登录游戏并重复上述过程
谢谢您的帮助