所有
我正在编写Android应用,我正在尝试将Google+用作我的客户经理。
我已关注excellent article here,系统会提示我登录谷歌+并且我的活动会获得一个令牌。
问题是令牌似乎不是JWT(我知道这是因为名称只有2个虚线部分而不是3,当我将“令牌”传递给同一篇文章中引用的java时我得到一个例外情况,表明令牌并不是很好:
com.google.api.client.repackaged.com.google.common.base.Preconditions.checkArgument(Preconditions.java:76)
at com.google.api.client.util.Preconditions.checkArgument(Preconditions.java:37)
at com.google.api.client.json.webtoken.JsonWebSignature$Parser.parse(JsonWebSignature.java:473)
at com.google.api.client.googleapis.auth.oauth2.GoogleIdToken.parse(GoogleIdToken.java:57)
at Checker.check(Checker.java:34)
代码如下所示: -
String scope = "oauth2:server:client_id:";
scope += scope_; // my client id in the web section
scope += ":api_scope:";
String googleauth;
googleauth ="https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/plus.login";
scope+=googleauth;
try
{
String token = GoogleAuthUtil.getToken(act_, s_account, scope);
....
应用程序确实要求验证并且我允许它(并且按照您应该再次调用getToken)。
但令牌似乎无法使用,它一定是愚蠢的东西,但到目前为止我看不到什么。
此致
答案 0 :(得分:0)
不确定问题是什么,但我已经在几个地方阅读过您需要采取某种解决方法才能使其与Google身份验证配合使用。您可以查看http://www.trajano.net/2014/07/parsing-the-json-web-token-in-java/
希望这有帮助