0

Я пытаюсь реализовать OAuth2 в своем приложении Android с помощью веб-просмотров.Как получить токен OAuth2 Google с помощью Webview

У меня есть вопрос, когда пользователь разрешает моему приложению получать доступ к своей учетной записи, меня перенаправляет на страницу, содержащую токен, но я не могу захватить токен и установить его в переменную.

Как я могу получить этот токен автоматически в моем методе WebViewClient onPageFinished?

Первоначально я собирался ехать на название страницы, которую легко получить, но я заметил, что заголовок страницы, кажется, имеет усеченный маркер (если маркер asdfgh.12345 название содержит только asdfgh)

Кажется, что нет способа получить страницу html, поэтому я не могу ее разобрать и захватить.

Я где-то читал, что должен быть установлен файл cookie oauth_token, но если я не ошибаюсь, куки-файлы неверно, google, похоже, не устанавливает файл cookie oauth_token.

Есть ли что-то, что мне не хватает в попытке получить токен?

ответ

0

Я предполагаю, что вы используете токен как response_type.

Один из способов сделать это, чтобы переопределить метод shouldOverrideUrlLoading из WebViewClient:

webView.setWebViewClient(new WebViewClient() { 
    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     if (url.startsWith(REDIRECT_URI)) { 
      // grab the token from the url 
      ... 
      return true; 
     } 
     return false; 
    } 
}); 
Смежные вопросы