javascript - Facebook xhr 登录 : Cross-Origin Request Blocked

标签 javascript facebook oauth xmlhttprequest cors

我遇到了这个问题,当我尝试使用 XHR 通过 Facebook 登录我的网站上的用户时,我的请求被阻止,但是如果我复制 XHR 请求的 URL 并将其粘贴到浏览器中,我就会登录。

这是一个简单的示意图:

enter image description here

为什么 xhr 在浏览器可以访问的同一 URL 上被阻止?

最佳答案

Why is xhr getting blocked on the same url a browser can access?

因为它是跨域请求,因此远程方必须首先允许该请求,这就是所谓的 CORS。

Facebook 不允许通过来自不同域的脚本加载其登录对话框 - 明显的原因是用户需要能够通过浏览器地址栏验证他们将登录凭据发送到哪个网站,以避免网络钓鱼.

无法在后台通过XHR/AJAX加载FB登录对话框;您需要在顶部窗口实例中调用/重定向到它。

关于javascript - Facebook xhr 登录 : Cross-Origin Request Blocked,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39212136/

相关文章:

javascript - PHP 中的分块数组为 3(在 JS 中可以解决)

javascript - 在 HTML5 Canvas 上绘制拉伸(stretch)弧

python - Django OAuth 工具包 invalid_grant 错误

android - Android 上的 oauth_callback

javascript - 滚动到顶部 jQuery

javascript - 使用共享对话框在 Facebook 上共享时出现 "Sorry, something went wrong."消息

javascript - FB.login 弹出窗口不再适用于 Safari mac?

android - 尝试通过 Android 应用分享时,Facebook SDK 出现应用名称不匹配的问题

php - 使用 Twitter 单一访问 token 的 Zend OAuth

javascript - Anuglar2 生命周期事件作为 rxjs Observable