java - 使用 Oauth 连接 Java 应用程序和 GAE 应用程序

标签 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 应用程序,如果我向服务器发送消息,用户数据将与消息一起发送到服务器。

我真的不知道该怎么做。如果你能告诉我,无论我走在正确的轨道上还是错误的轨道上,那就太好了。如果有任何建议,我将非常高兴。

谢谢,马克

最佳答案

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

根据您的 Java 应用程序(桌面、网络、移动),您将使用不同的 OAuth 流程,如 Auth documentation for Google APIs 中所示。 .

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

请注意,GAE 仅支持 OAuth 1.0,当充当 OAuth 提供者时,请参阅 GAE OAuth Documentatio n 了解更多详情。

Ikai 最近也做了一个 blog post详细说明如何在 GAE/Java 上设置 OAuth 提供程序。

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

希望对您有所帮助。

关于java - 使用 Oauth 连接 Java 应用程序和 GAE 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6404040/

相关文章:

google-app-engine - go get 失败,返回 "no buildable Go source files found in github.com/..."

java - 具有依赖倒置的多对多关系

android - 启动 Android 应用程序时 Eclipse 挂起

java - 如何在 GAE 中存储和检索 (_sh_SESSION) 值

java - Android SAXParser,解析成数组并获取子节点

Android ANR 消息由于长期持续的操作问题

java - GAE - 数据存储查询的 declareParameters 是否有 setParameters 对应项?

Java匹配器和模式: Why does this go on forever

java - 使用 SWT 浏览器小部件进行打印

java - 斐波那契修改 :How to fix this algorithm?