我遇到使用OpenID进行AD身份验证的.NET核心Web应用程序的问题。目前,在我的应用程序设置中,CallBackPath设置为/ signin-oidc
"Authentication": {
"AzureAd": {
"AADInstance": "microsoftonlinecom/",
"CallbackPath": "/signin-oidc"
并且在azure上,replyurl设置为azurewebsitescom / signin-oidc
每当我将replyurl更改为localhost:44320 / signin-oidc并在本地进行调试时,它运行良好但在Azure上我收到以下错误:
azurewebsitesnet / .auth /登录/ AAD /回调'与为应用程序配置的回复地址不匹配:'
你可以告诉它使用不正确的回复,我不知道为什么它不会使用在回复设置中明确设置的正确的回复。
startup.cs:
app.UseCookieAuthentication();
app.UseOpenIdConnectAuthentication(new OpenIdConnectOptions
{
ClientId = Configuration["Authentication:AzureAd:ClientId"],
Authority = Configuration["Authentication:AzureAd:AADInstance"] + Configuration["Authentication:AzureAd:TenantId"],
CallbackPath = Configuration["Authentication:AzureAd:CallbackPath"],
PostLogoutRedirectUri = Configuration["Authentication:AzureAd:PostLogoutURL"],
SignInScheme = CookieAuthenticationDefaults.AuthenticationScheme
});
此外,如果我添加通配符回复网址,例如exampleazurewebsitesnet / *然后我能够对我的应用程序进行身份验证,除了它声明我没有访问权限并且replyurl仍然是上面的错误:azurewebsitesnet / .auth / login / aad / callback
"您无权查看此目录或页面。"
我被迫故意输入错误的网址,因为我没有足够的权限在堆栈溢出上发布超过2个链接
答案 0 :(得分:9)
根据重定向网址,您似乎在Azure上部署Web应用程序后启用Azure应用服务提供的身份验证/授权功能。由于您已在Web应用程序中实施身份验证,因此无需进行配置。您可以通过新的Azure门户禁用它,如下图所示:
有关此功能的更多详情,请参阅here。