【发布时间】:2015-06-24 01:47:37
【问题描述】:
当我尝试在这个网站上使用 Facebook 登录时:
点击页面顶部的按钮,我会弹出一个带有 URL 的窗口:
我输入我的 Facebook 信用并提交。在 Safari 中,这有效并且登录完成。在 Chrome 中,弹出窗口变为空白但保持打开状态。弹出网址是
https://parlay.io/_oauth/facebook?close&code=...
弹出控制台说:
未捕获的安全错误:阻止了来源为“https://parlay.io”的框架访问来源为“http://parlay.io”的框架。请求访问的帧具有“https”协议,被访问的帧具有“http”协议。协议必须匹配。
错误发生在第23行:
我不知道为什么这个弹出窗口试图访问http://parlay.io。我的应用程序中的任何位置都没有 http 或 http://parlay.io 作为设置。
这是使用 'popup' 样式的 oauth。当我在 Chrome 中切换到“重定向”样式时,第一次登录时,我在服务器上收到此错误:
{"line":"398","file":"oauth_server.js","message":"OAuth 服务器出错:redirectUrl (http://parlay.io/) 与应用不在同一主机上 (@987654327 @)","time":{"$date":1435164688847},"level":"warn"}[parlay.io]
然后我被重定向到同一个登录页面。我第二次单击登录时,它可以工作。第二次点击可以通过以下方式自动完成:
【问题讨论】:
-
facebook端的应用设置怎么样?你那里可以有一个http吗?
-
@Loren 也许,最初您将 ROOT_URL 设置为使用 http://。如果 facebook 也使用 https:// url 进行回调,您的缓存中可能会有一些内容。尝试在隐私模式下使用隐身 chrome 窗口或 Safari 来测试它
-
嘿,斗篷和tail.sh!小世界。谢谢大家,developer.facebook.com 上的 facebook 应用程序设置中的所有 URL 都是 https。 Chrome 隐身模式中的相同行为。登录在 Safari 中有效,没有 SecurityError
标签: meteor facebook-login meteor-accounts