使用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?