google-endpoints跨客户端身份验证

时间:2015-04-06 09:51:23

标签: java google-oauth google-cloud-endpoints

我尝试使用google-endpoins进行跨客户端身份验证。在我的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

1 个答案:

答案 0 :(得分:0)

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

此外,您提供的文档适用于Google+ API,并且他们提供了一些示例代码,用于在项目中实现一次性代码的功能[1]。

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