【发布时间】:2019-11-15 21:48:40
【问题描述】:
我正在使用 ASP.NET Core 2.2 和 Razor Pages 创建一个新的 WebApp,并且我想使用 AzureAD 对用户进行身份验证。这在本地主机上运行良好,我可以毫无问题地登录和注销。但是当我将它发布到天蓝色时,我无法登录。在微软登录页面之后,我被重定向到我的 WebApp 到页面“/.auth/login/done”,上面写着:“您已成功登录。返回到网站”,我可以返回我的网站,但我没有登录。
在 Azure 中的应用注册中,我为 localhost 和应用程序配置了重定向 URL。对于 localhost,它看起来像“https://localhost:44321/.auth/login/aad/callback”,对于应用程序,它看起来像“https://maywebapp.azurewebsites.net/.auth/login/aad/callback”。 我将应用程序配置为始终使用 https 以确保 Url 与 Azure 中配置的相同。
这是我的服务配置:
services.AddAuthentication(options =>
{
options.DefaultChallengeScheme = OpenIdConnectDefaults.AuthenticationScheme;
options.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;
options.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme;
})
.AddOpenIdConnect(options =>
{
options.Authority = Configuration["Microsoft:Authority"];
options.ClientId = Configuration["Microsoft:ClientId"];
options.CallbackPath = Configuration["Microsoft:CallbackPath"];
options.ResponseType = OpenIdConnectResponseType.IdToken;
options.SignedOutRedirectUri = Configuration["Microsoft:SignedOutRedirectUri"];
options.TokenValidationParameters.NameClaimType = "name";
})
.AddCookie();
我希望与我在本地运行工作应用程序时的行为相同。
【问题讨论】:
标签: c# azure razor-pages asp.net-core-2.2