Azure Web App .net核心OpenID redirect_uri问题

时间:2017-01-06 17:04:55

标签: azure oauth-2.0 asp.net-core-mvc openid azure-web-sites

我遇到使用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个链接

1 个答案:

答案 0 :(得分:9)

根据重定向网址,您似乎在Azure上部署Web应用程序后启用Azure应用服务提供的身份验证/授权功能。由于您已在Web应用程序中实施身份验证,因此无需进行配置。您可以通过新的Azure门户禁用它,如下图所示: enter image description here

有关此功能的更多详情,请参阅here