'不是列入白名单的来源'Azure移动服务身份验证错误

'Not a whitelisted origin' error with Azure Mobile Services Authentication

本文关键字:Azure 服务 错误 身份验证 移动 白名单 名单      更新时间:2023-09-26

我正在尝试使用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。

非常感谢您为解决此问题提供的任何帮助!

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