图书馆:
<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”。
答案 0 :(得分:1)
之所以发生这种情况,是因为Facebook不允许您将其登录iframe直接嵌入到您的页面中,您需要打开一个新窗口。不太确定fb-login
指令中发生了什么,但是您可以尝试将target="_top"
添加到按钮中,以将Facebook登录信息加载到其自己的窗口中,而不是页面上的iframe中。他们将X-Frame-Options
设置为DENY
或SAMEORIGIN
,以防止恶意站点劫持用户会话。
<button fb-login type="button" target="_top">facebook</button>