簡體   English   中英

Google Oauth沒有獲得刷新令牌

[英]Google Oauth not getting refresh token

我正在嘗試獲取刷新令牌。 我在谷歌文檔中讀到了它。 現在,我正在使用脫機的accessstype以及approval_prompt:“force”但是我沒有得到刷新令牌作為響應。 我得不到我做錯了什么。

我有以下HTML代碼:

<input type="submit" class="btn btn-info" value="Google" onclick="authorizeWithGoogle()" />

Javascript代碼:

 var cid = 'XXXXX';
 var apik = 'XXXXX';
 var scopes = 'https://www.google.com/m8/feeds';

 function authorizeWithGoogle() {
     gapi.client.setApiKey(apik); 
     gapi.auth.authorize({ client_id: cid, scope: scopes,  accesstype: "offline"   ,approval_prompt: "force"}, handleAuthResult);
 }

 function handleAuthResult(authResult) {
     delete authResult['g-oauth-window'];
 if (authResult && !authResult.error) {
    console.log(JSON.stringify(authResult));      
 }
}

你能幫我么。

您不希望請求刷新令牌,因為這會否定OAuth的安全性。 只應在服務器上請求/存儲刷新令牌。 在繼續之前,您可能需要退一步並檢查您對OAuth的理解。 試圖在不了解它的情況下實施OAuth是一個皮塔餅。

對於瀏覽器客戶端,只要您需要新的訪問令牌(例如大約每小時),就應該繼續調用gapi.auth.authorize。 第一次調用后,您可以設置immediate=true ,這將禁止任何UI。

首先,你做了一個拼寫錯誤,它缺少下划線:它是access_type ,而不是accesstype

然后,除了傳遞access_typeapproval_prompt ,還需要確保測試用戶刪除了應用的授權。 使用您的測試帳戶(而非您的應用帳戶)登錄Google,然后轉到帳戶權限並從列表中刪除您的應用。

暫無
暫無

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

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