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步骤中将其删除。请记住,通常它是为了好事而做的,只是为了满足你的要求。