总结:我试图使用存储谷歌账号上的Android应用程序在本地应用来验证用户身份,通过一个Rails 3提供+设计应用程序的API,和我被困。
详细信息:我们有一个应用程序(http://push-poll.com),它可以让用户从一帮自己的朋友收集反馈。 我们还内置了原生Android应用程序。 我们的web应用程序允许您与您的谷歌帐户登录,我们希望这些功能扩展到原生的Android应用程序。 Web应用程序达到了这个标准制定(帐户权限)+ Omniauth(对于谷歌帐户信息和OAuth交互)。
版本:安卓2.1+,Rails的3.2.2,2.1.2设计,Omniauth 1.1.0
建议验证工作流程:
- 用户点击的Android应用程序“与谷歌帐户登录”
- 用户使用的AccountManager Android装置上选择一个存储帐户,并给出许可
- Android应用程序发送谷歌帐户令牌Rails的API
- Rails应用程序发送帐户令牌谷歌OAuth的API < -这是我被困
- 谷歌返回成功信息和账户信息(具体名称+电子邮件)
- 通过电子邮件地址Rails应用程序查找/创建用户
- Rails应用程序创建用户帐户/读取/更新访问令牌
- 导轨访问令牌回到了Android应用(这是我们的应用程序目前是如何处理与标准登录API访问)
- Android应用包括所有的API调用Rails的访问令牌
我已经冲刷谷歌的文档,但我完全卡住了(4)和(5)。 一旦我有谷歌提供的电子邮件地址,一切都按现在这样(对于标准登录或谷歌/ Omniauth /设计帐户)。 通过我最好的猜测,这可以通过以下任一操作来解决:
- 创建一个与web应用程序共享的Android应用程序的API /密钥,以使谷歌帐户的API请求
- 查找谷歌API端点我可以简单地验证对一个Android帐户令牌,并返回账户细节
我一直在敲打我的头靠在墙上就这一个,至少一个星期。
FYI:我是网络开发,我们的Android开发人员一直还跟我提供了废止Android应用程序会从安卓发送一个访问令牌我选择的API端点。