2014-01-25 1 views
0

Все,Android getauthutil getToken не возвращающая JWT

Я пишу приложение для Android и я пытаюсь использовать Google+ в качестве моего менеджера счета.

Я следил за excellent article here, и мне было предложено войти в Google +, а событие I получить токен назад.

Проблема заключается в том, что токен не является JWT (я знаю это, потому что вместо имени вместо 2 есть только 2 пунктирные части, а когда я передаю «токен» в 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

Не уверен, что проблема есть, но я читал в нескольких местах, что вам нужно поставить какой-то обходной путь в месте, чтобы заставить его работать с аутентификацией Google. Вы можете посмотреть на http://www.trajano.net/2014/07/parsing-the-json-web-token-in-java/

Надеюсь, что это поможет

Смежные вопросы