google-端点跨客户端身份验证

google-endpoints cross client authentication

我正在尝试通过 google-端点使用跨客户端身份验证。在我的 android 客户端中,我成功地为我的服务器获取了授权令牌:

String plusLogin = Scopes.PLUS_LOGIN;
String mScopes = "oauth2:" + plusLogin;

String token = GoogleAuthUtil.getToken(context, Constants.accountName, mScopes);

然后我在 AsyncTask 任务中访问所需的端点并将此令牌传递给服务器。现在......我在服务器端有这个令牌,但我不知道我必须做什么来解码来自 int 的用户信息。基本上我有兴趣在服务器端获取用户 ID 和用户电子邮件。

的确,我是新手,但我已经苦苦挣扎了 2 周多。 关于此的 Google 文档仅指出了您必须遵循的方向,但没有可以用作模型的工作示例。 https://developers.google.com/+/web/signin/server-side-flow

我认为您无法从 Google API 服务器提供的令牌中解码任何用户信息到您的应用程序,因为这些令牌是由 Google 发送的签名令牌API 服务器到您的应用程序。它是由 Google API 服务器发送到您的应用程序的一次性令牌,然后您的应用程序将其发送到您的服务器以从 Google Server.All 这些令牌中获取刷新令牌是加密签名的 JWT(Jason Web 令牌),由 Google 签名,如果您无法解码这些令牌。

此外,您提供的文档是针对 Google+ API 的,并且他们提供了一些示例代码来说明如何在您的项目 [1] 中实现一次性代码的功能。

[1] https://developers.google.com/+/quickstart/