使用Oauth将Java应用程序与GAE应用程序连接起来

时间:2011-06-19 17:41:57

标签: java android google-app-engine oauth oauth-2.0

我有一个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

2 个答案:

答案 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?

http://code.google.com/appengine/docs/java/users/