![](/img/trans.png)
[英]Should I handle CODE using Javascript SDK FB.login POP-UP or is it handled automatically to gain the access_token?
[英]Gmail API : Extract "code" param from the URL of a pop-up window to get the access_token details
我正在嘗試對我的 web 應用程序使用 OAuth2 對 gmail 進行身份驗證。 我們從服務器返回一個 url 給客戶端,然后客戶端使用它打開一個彈出窗口。 代碼如圖所示:
var win = window.open(data.google_oauth_url, `<h1>Gmail</h1>`, 'width=800, height=600');
var pollTimer = setInterval(() => {
try {
const searchParams = new URL(win.document.URL).searchParams
console.log("url is",win.document.URL, searchParams, searchParams.get("code"))
if (searchParams.get("code") != -1) {
clearInterval(pollTimer);
win.close();
}
} catch(e) {
console.log("Error",e)
}
}, 500);
從彈出窗口中,我想提取身份驗證完成后谷歌返回給我們的“代碼”參數。 但是當我嘗試從客戶端提取參數時,我面臨一個錯誤:
未捕獲的 DOMException:阻止具有源“https://xyz”的框架訪問跨域框架
是否有人知道此解決方案,或任何其他提取“代碼”參數的方法,以便我可以繼續獲取 access_token 詳細信息。 提前致謝。
上面的代碼有效,雖然我們在使用谷歌身份驗證時遇到 CORS 錯誤,但一旦身份驗證完成,它就會重定向到提供的 url(Web 應用程序)。 然后不再有跨域,因為域現在是相同的。
例如:https://localhost 是您的 web 應用程序 url 和重定向 Z572D4E4211E5E6B9BC1E21DZ。
然后它會檢測驗證碼,一旦獲得,彈出窗口會自動關閉。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.