3

我正在尝试使用 Azure 移动服务创建演示站点。我从移动服务门户中提供的 HTML/JavaScript 示例应用程序开始。我完全按照文档中的说明添加了身份验证。

当我的 index.html 页面上的 JavaScript 尝试对 Facebook 进行身份验证时,我得到一个显示以下错误的新浏览器窗口:{“code”:401,“error”:“错误:不是白名单来源:https:/ /mysite.azurewebsites.net "}

此错误窗口的地址栏如下: https://mysite.azure-mobile.net/login/facebook?completion_type=postMessage&completion_origin=https%3A%2F%2Fmysite.azurewebsites.net

发生这种情况时执行的客户端 JavaScript 行如下:

function logIn() {
    client.login("facebook").then(refreshAuthDisplay, function (error) {
        alert(error);
    });
}

我想我已经按照教程完成了所有工作,并正确设置了 facebook 应用程序。

我奇怪的是,我认为这个问题是暂时的。有时会发生,有时不会。当它发生时,我连续尝试多少次都没关系,它永远不会奏效。但是,在某些时候,我的演示应用程序中的身份验证正常工作,并且很高兴。几天后,我在没有接触任何东西的情况下返回使用这个演示应用程序,突然我收到了这个错误。

从给出错误消息的 URL 看来,此错误来自 Azure 本身的移动服务。它不是来自我的应用程序,也不是来自 Facebook。

非常感谢解决此问题的任何帮助!

4

1 回答 1

3

为了确保可以从部署在不同域上的网站访问您的移动服务,您需要在 Azure 移动服务门户的配置页面中的跨域资源共享 (cors)会话中添加您的主机。

于 2013-07-02T22:07:49.250 回答