簡體   English   中英

如何將具有AzureAD身份驗證的Asp.Net-Core 2.2 Razor Pages應用程序部署到Azure

[英]How to deploy to Azure an Asp.Net-Core 2.2 Razor Pages App with AzureAD Authentication

我正在使用ASP.NET Core 2.2和Razor Pages創建一個新的WebApp,並且想使用AzureAD對用戶進行身份驗證。 這可以在本地使用localhost正常工作,並且我可以順利登錄和注銷。 但是,當我將其發布到Azure時,我無法登錄。在Microsoft登錄頁面后,我重定向到WebApp到頁面“ /.auth/login/done”,該頁面顯示:“您已成功登錄。網站”,我可以返回我的網站,但我尚未登錄。

在Azure中的應用程序注冊中,我已為本地主機和應用程序配置了重定向Urls。 對於本地主機,它看起來像“ 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();

我期望的行為與在本地運行可運行的應用程序時相同。

要驗證對此文件夾中頁面的所有訪問,我們可以將Authorize屬性添加到所有頁面模型類中,但是我們可以做得更好。 回到Startup類,我們可以添加一些Razor Pages約定以使我們的生活更輕松。

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc()
            .AddRazorPagesOptions(options =>
            {
                options.Conventions.AuthorizeFolder("/Account");
            });
    ...
}

這是有關使用asp.net剃須刀進行身份驗證的文章

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM