在iframe中加载Google帐户登录(Chrome扩展程序)

时间:2017-08-25 22:21:47

标签: javascript iframe google-chrome-extension google-oauth google-login

问题
我有一个加载在iframe中的chrome扩展程序。该扩展程序首先加载Google登录页面。页面失败,出现以下错误:

  

OAuth2:1拒绝显示   ' https://accounts.google.com/o/oauth2/auth ...&#39?;因为它在一个框架中   设置' X-Frame-Options'到#sameorigin'。

我意识到这是Google出于安全原因提出的限制,但为了向用户提供更加无缝的体验,是否有可能克服它?

作为参考,我使用的是带有Google OAuth2策略的护照:
const GoogleStrategy = require('passport-google-oauth2').Strategy;

另一种可能性
想到避免它的一种可能性是使用target=_blank"在新标签页中加载Google登录页面,但是一旦用户登录,我就会关闭要关闭的标签页和要转到的标签页授权用户进入应用程序。

选项#1当然更可取,但我打开选项#2。任何建议肯定会有所帮助

1 个答案:

答案 0 :(得分:1)

最简单的想法是使用webRequest删除传入的X-Frame-Options标头:在onHeadersReceived步骤中将其删除。请记住,通常情况下这样做是好的,只能根据您的要求进行。