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

我有一个Java应用程序和一个GAE应用程序,它将C2DM消息发送到Android设备。

现在我想让java应用程序的用户能够通过他们的Google帐户登录到GAE应用程序。 我是否正确,我需要使用oauth来实现这一点?

一点点背景:

+-----------+ +----------+ | JAVA App | send Message to ---> | GAE App | +-----------+ +----------+ ^ | | Notify Client | ----------------------------  | | [YES] ---> Start delivering C2DMessage 

我希望我的ASCII图片更容易理解;)

不知何故,我需要允许用户使用他们的google凭据登录java应用程序,如果我向服务器发送消息,则将用户数据与消息一起发送到服务器。

我真的不知道如何做到这一点。 如果你能告诉我,那么我是在正确或错误的轨道上会很棒。 任何建议我都会很高兴。

谢谢,马克

当您的应用程序需要代表用户访问资源或对其他服务执行操作(无需其凭据)时,将使用OAuth。

根据您的Java应用程序(桌面,Web,移动设备),您将使用不同的OAuth流程,如Google API的Auth文档中所示。

并且用户无需登录Java应用程序,只要他们登录GAE应用程序,您就应该能够从GAE OAuth端点检索访问令牌。

请注意,GAE仅支持OAuth 1.0,在充当OAuth提供程序时,请参阅GAE OAuth文档以获取更多详细信息。

此外,Ikai最近发表了一篇博文,详细介绍了如何在GAE / Java上设置OAuth提供程序。

作为旁注,您是否看过最新的GPE版本,它具有用于开发具有GAE后端的Android应用程序的工具,如今年的Google I / O演示中所示

希望有所帮助。

如果您要使用GAE,而不是使用OAuth,为什么不使用Users API?

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