我创建了一个API应用程序并将其部署到Azure。该应用程序使用Active Directory身份验证。 我收到以下错误
AADSTS50011: The reply url specified in the request does not match the reply urls configured for the application: 00000000-0000-4f27-0000-00000000.
到目前为止的步骤
配置
<add key="ida:AADInstance" value="https://login.microsoftonline.com/{0}"></add>
<add key="ida:PostLogoutRedirectUri" value="https://myapp.azurewebsites.net/"></add>
api的代码如下
[HttpGet]
[SwaggerResponse(HttpStatusCode.OK,
Type = typeof(IEnumerable<Contact>))]
public async Task<IEnumerable<Contact>> Get()
{
return await GetContacts();
}
当您尝试对应用程序进行身份验证时,获取有关浏览器内容的Fiddler跟踪信息。应该向AAD请求身份验证请求,该请求还包括回复网址。确保它与您在AAD中配置的应用程序相同。
您是否在web.config上设置了下面的键和值。 key =“ida:RedirectUri”value =“https://myapp.azurewebsites.net/”
有同样的错误,解决方案是:
转到Azure门户:https://portal.azure.com登录并单击左侧的Azure Active Directory图标。然后单击中间窗格中的“App registrations”图标。在搜索框中输入错误消息中的应用程序,然后从下拉列表中选择“所有应用程序”:
单击您的应用程序,然后单击“设置”图标,从列表中选择“回复URL”。
复制一个回复URL并将其作为https端口添加到您的应用程序中。
您可以从项目的属性执行此操作,或者只需添加lounchsetting.json文件sslPort值
在AAD App Registration上,将AAD auth回调附加到Reply URI值。最初我把我的东西设置为:
https://my-app.azurewebsites.net
然后我将其更新为:
https://my-app.azurewebsites.net/.auth/login/aad/callback
之后,错误被清除,我能够调用我的API端点。