簡體   English   中英

如何使用Webview獲取Google OAuth2令牌

[英]How to get Google OAuth2 Token with Webview

我正在嘗試使用webviews在我的android應用程序中實現OAuth2。

我遇到的一個問題是,在用戶允許我的應用訪問他們的帳戶之后,我被重定向到了包含令牌的頁面,但是我無法獲取令牌並將其設置為變量。

如何在WebViewClient onPageFinished方法中自動獲取此令牌?

我原本打算按頁面標題進行操作,這很容易獲得,但是我注意到頁面標題似乎具有截斷的標記(如果標記為asdfgh.12345,則標題僅包含asdfgh)

似乎沒有獲取頁面html的方法,所以我無法解析它並采用這種方式。

我在某處讀到應該設置oauth_token cookie,但除非我不正確地獲取了cookie,否則Google似乎不會設置oauth_token cookie。

我在嘗試獲取令牌時缺少什么?

我假設您使用令牌作為response_type。

一種方法是重寫WebViewClient的shouldOverrideUrlLoading方法:

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;
    }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM