Ago*_*gop 8 javascript facebook google-chrome cross-domain facebook-javascript-sdk
我在这里有一个Facebook JS SDK登录流程:https://web.triller.co/#/user/login
当用户点击Facebook按钮时,执行以下功能:
loginFacebook()
{
const fbPromise = new Promise((resolve, reject) => {
FB.login(resp => {
if (resp.authResponse)
{
resolve(resp.authResponse.accessToken);
}
else
{
console.log(resp);
reject(new Error('Facebook login canceled or failed.'));
}
});
});
return fbPromise
.then(accessToken => api.postJson('user/login_facebook', { accessToken }))
.then(this._handleLogin.bind(this));
}
Run Code Online (Sandbox Code Playgroud)
基本上,它调用FB.login(),并期望收到有效的resp.authResponse.不幸的是,即使在Facebook弹出/标签上成功进行身份验证之后,它也没有.相反,我们{ authResponse: undefined, status: undefined }从浏览器收到以下错误:
不安全的JavaScript尝试启动与URL"框架导航https://m.facebook.com/v2.8/dialog/oauth?foo=bar从URL框架' https://web.triller.co/#/ user/login?_k = cmzdb6 '.尝试导航的帧既不是与目标相同的原点,也不是目标的父或开启者.
在Facebook弹出/选项卡中进行身份验证后会立即发生错误,并且只会在Android Chrome上发生.桌面Chrome(在Mac上)不会显示相同的错误.iOS上的Safari也不会显示错误.
对于发生了什么的任何想法?为什么Android Chrome和桌面Chrome之间存在差异?它可能与URL中的哈希有关吗?
在桌面中,此问题可能是由 XFINITY Constant Guard Protection Suite Chrome 扩展引起的。禁用它,问题就会解决。
在 Android 中,尝试删除 XFINITY 或类似的安全扩展或应用程序(诺顿安全防病毒软件)。
https://developer.salesforce.com/forums/?id=906F00000008qKnIAI
| 归档时间: |
|
| 查看次数: |
3091 次 |
| 最近记录: |