我有一个Java应用程序和一个GAE应用程序,它将C2DM消息发送到Android设备。
现在我想让java应用程序的用户能够通过他们的Google帐户登录GAE应用程序。我是否正确,我需要使用oauth来实现这一点?
一点点背景:
+-----------+ +----------+
| JAVA App | send Message to ---> | GAE App |
+-----------+ +----------+
^ |
| Notify Client |
---------------------------- <User is allowed to send>
|
|
[YES] ---> Start delivering C2DMessage
我希望我的ASCII图片更容易理解;)
不知何故,我需要允许用户使用他们的google凭据登录java应用程序,如果我向服务器发送消息,则将用户数据与消息一起发送到服务器。
我真的不知道该怎么做。如果你可以告诉我,那么我在正确或错误的轨道上会很棒。我会很高兴任何建议。
谢谢,Mark
答案 0 :(得分:2)
当您的应用程序需要代表用户访问资源或对其他服务执行操作(无需其凭据)时,将使用OAuth。
根据您的Java应用程序(桌面,网络,移动设备),您将使用不同的OAuth流程,如Auth documentation for Google APIs所示。
用户无需登录Java应用程序,只要他们登录GAE应用程序,您就应该能够从GAE OAuth端点检索访问令牌。
请注意,GAE仅支持OAuth 1.0,在充当OAuth提供程序时,请参阅GAE OAuth Documentatio n以获取更多详细信息。
此外,Ikai最近制作了一个blog post详细说明了如何在GAE / Java上设置OAuth提供程序。
作为旁注,您是否看过最新的GPE版本,它具有使用GAE后端开发Android应用程序的工具,如今年展示Google I/O presentation
希望有所帮助。
答案 1 :(得分:0)
如果您要使用GAE,而不是使用OAuth,为什么不使用用户API?