1

問題
我有一個加載在iframe中的chrome擴展。該擴展程序首先加載Google登錄頁面。該頁面失敗,出現以下錯誤:在Iframe(Chrome擴展)中加載Google帳戶登錄

OAuth2:1 Refused to display ' https://accounts.google.com/o/oauth2/auth ?...' in a frame because it set 'X-Frame-Options' to 'sameorigin'.

我意識到,這是一個限制,即谷歌闡述了用於安全原因,但爲了給用戶提供更完美的體驗,是可以克服的呢?

僅供參考,我使用的護照與谷歌的OAuth2策略:
const GoogleStrategy = require('passport-google-oauth2').Strategy;

另一種可能性
想到的避免它的一種可能性是在新標籤加載谷歌登錄頁面使用target=_blank",但隨後,一旦用戶登錄,我希望關閉選項卡並將iframe授權給用戶。

選項#1當然是可取的,但我打開選項#2。任何建議肯定會有所幫助

回答

1

想到的最簡單的方法是使用webRequest刪除收到的X-Frame-Options標題:在onHeadersReceived步驟中將其刪除。請記住,通常它是爲了好事而做的,只是爲了滿足你的要求。