拒绝显示在框架中,因为它将“ X-Frame-Options”设置为“ DENY”。在anguluar

时间:2018-09-20 08:48:18

标签: javascript angularjs facebook authentication facebook-javascript-sdk

图书馆:

<script src="https://cdn.jsdelivr.net/npm/angularjs-social-login@2.6.1/angularjs-social-login.js"></script>

Facebook按钮

<button fb-login type="button">facebook</button>

在控制器中

app.config(function(socialProvider){
socialProvider.setFbKey({appId: "***************", apiVersion: "v2.4"});
}); 

参考https://github.com/heresy/angularjs-social-login-example/blob/master/index.html

此外,我尝试使用google登录,并且与Facebook一样出现以下错误:

  

拒绝在框架中显示“ https://www.facebook.com/connect/ping?client_id= ************&domain = loca ... lation%3Dparent&response_type = token%2Csigned_request&sdk = joey&version = v2.4”将“ X-Frame-Options”设置为“ DENY”。

1 个答案:

答案 0 :(得分:1)

之所以发生这种情况,是因为Facebook不允许您将其登录iframe直接嵌入到您的页面中,您需要打开一个新窗口。不太确定fb-login指令中发生了什么,但是您可以尝试将target="_top"添加到按钮中,以将Facebook登录信息加载到其自己的窗口中,而不是页面上的iframe中。他们将X-Frame-Options设置为DENYSAMEORIGIN,以防止恶意站点劫持用户会话。

<button fb-login type="button" target="_top">facebook</button>