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

Java google端点跨客户端身份验证,java,google-oauth,google-cloud-endpoints,Java,Google Oauth,Google Cloud Endpoints,我正在尝试使用跨客户端身份验证与谷歌端点。在我的android客户端中,我通过以下方式成功获取服务器的授权令牌: String plusLogin = Scopes.PLUS_LOGIN; String mScopes = "oauth2:" + plusLogin; String token = GoogleAuthUtil.getToken(context, Constants.accountName, mScopes); 然后,我在AsyncTask任务中访问所需的端点,并将此令牌传递

我正在尝试使用跨客户端身份验证与谷歌端点。在我的android客户端中,我通过以下方式成功获取服务器的授权令牌:

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

String token = GoogleAuthUtil.getToken(context, Constants.accountName, mScopes);
然后,我在AsyncTask任务中访问所需的端点,并将此令牌传递给服务器。现在我在服务器端有这个令牌,但我不知道如何从int解码用户信息。基本上,我想在服务器端获得用户id和用户电子邮件

这是真的,我是新手,但我挣扎了两个多星期。 谷歌关于这一点的文档只是指出了你必须遵循的方向,但没有可以作为模型使用的工作示例。

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

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


[1]

因此流的下一步是:1。将此令牌交换为刷新令牌。2.访问api并以json格式打包用户详细信息。我只找到了一些关于如何在android上实现这一点的例子,javascript,而不是服务器端的纯java。有人能帮忙吗?