使用 Google 身份工具包对 Java 的 GWT-RPC 调用进行身份验证

Authenticating GWT-RPC calls with Google Identity Toolkit for Java

我在 Google App Engine (Java) 上部署了一个基于 GWT 的应用程序。该应用程序使用 Google 帐户进行身份验证,如下所述:https://cloud.google.com/appengine/docs/java/users/ 并使用 GWT-RPC 与后端服务进行通信。我使用 GAE 的 UserService 在我的 RemoteServiceServlet 中获取用户对象(和电子邮件 ID)。

现在我想用 Google Identity Toolkit (GIT) 替换 Google 帐户,以便我可以提供更多登录选项(电子邮件、Google、Facebook 等.) 给我的用户。我使用 GIT 创建了一个基于 GAE 的小型示例应用程序(非 GWT),它运行良好。我使用 Java 的 GitKitClient 库来执行 OAuth 令牌身份验证并在服务器上获取用户配置文件。

但我想知道 GIT 如何与 GWT-RPC 一起工作。如果我切换到 GIT 登录(而不是 Google 帐户),GAE UserService 是否仍然可以在我的 RemoteServiceServlet 中工作?或者我是否需要像在非 GWT 示例应用程序中那样使用 GitKitClient 在我的 RemoteServiceServlet 中执行 OAuth 令牌身份验证?

我是 GIT 和 OAuth 的新手,非常感谢对此事的任何帮助。

谢谢。

GAE UserService 无法识别 Google Identity Toolkit 令牌。您需要使用 Google Identity Toolkit Java 库来验证 RemoteServiceServlet 中的 Google Identity Toolkit 令牌,其方式与您已经在示例 GAE 应用程序中实现的方式相同。