Android getauthutil getToken没有返回JWT

时间:2014-01-25 20:07:35

标签: android authorization

所有

我正在编写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)。

但令牌似乎无法使用,它一定是愚蠢的东西,但到目前为止我看不到什么。

此致

1 个答案:

答案 0 :(得分:0)

不确定问题是什么,但我已经在几个地方阅读过您需要采取某种解决方法才能使其与Google身份验证配合使用。您可以查看http://www.trajano.net/2014/07/parsing-the-json-web-token-in-java/

希望这有帮助