我正在尝试使用ASP.NET Core 2.1,并使用Azure AD保护Web应用程序。我的设置如下:
{
"AzureAd": {
"Instance": "https://login.microsoftonline.com/",
"Domain": "xxxx.onmicrosoft.com",
"ClientId": "xxxxx",
"TenantId": "xxxxx",
"ClientSecret": "xxxxx",
"CallbackPath": "/signin-oidc"
},
"Logging": {
"LogLevel": {
"Default": "Warning"
}
},
"AllowedHosts": "*"
}
(请注意callbackPath)。这是根据我可以找到的文档。上次使用Azure AD身份验证时,我在应用程序设置中使用了回复URL,并且该URL必须与Azure AD中的回复URL相匹配。但是,此较新方法的文档说您必须将回调路径设置为/ signin-oidc吗?
我不太了解,但是我已经这样设置了,但是我无法在Azure AD应用程序注册中为此设置回复URL,因为它不接受此“部分”路径。它必须是完整的URL。我尝试过:
但是在遇到挑战并获得Microsoft登录页面后,输入凭据后,我不断收到请求中指定的错误URL与配置为登录的答复URL不匹配。
我上一次使用ASP.NET Webforms执行Azure AD身份验证时,只是app.config以mysite.net作为回复URL,在Azure中将应用程序注册为mysite.net
答案 0 :(得分:2)
解决方案分为2部分:
第1部分:确保appsettings.json中的CallBackUrl为/ signin-oidc,在Azure应用程序中注册为yoursite / signin-oidc
第2部分:确保将app.UseAuthentication()添加到startup.cs中的HTTP管道中