相关疑难解决方法(0)

如何通过 IdentityServer4 将 OpenIdConnect 添加到 ASP.NET Core ServerSide Blazor Web 应用程序?

我做了以下(它应该工作但它没有),没有重定向,没有错误,没有任何东西,它只是显示没有身份验证的页面,我做错了什么?


ASP.NET Core 3.1 Blazor

步骤 1.安装包 Microsoft.AspNetCore.Authentication.OpenIdConnect

步骤 2.编辑 Statup.cs

在“ConfigurationServices”下添加

        services.AddAuthentication(options =>
        {
            options.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
            options.DefaultChallengeScheme = OpenIdConnectDefaults.AuthenticationScheme;
        })
        .AddCookie()
        .AddOpenIdConnect(OpenIdConnectDefaults.AuthenticationScheme, options =>
        {
           options.SignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;
           options.Authority = "http://localhost:5000";
           options.RequireHttpsMetadata = false; //false for development only
           options.ClientId = "mywebclient";
           options.ResponseType = "code";
           options.UsePkce = true;
           options.Scope.Add("profile");
           options.Scope.Add("offline_access");
           options.SaveTokens = true;
        });
Run Code Online (Sandbox Code Playgroud)

在“配置”下添加

        ...
        services.AddAuthorization();

        app.UseStaticFiles();

        app.UseRouting();


        app.UseAuthentication();
        app.UseAuthorization();

        ....
Run Code Online (Sandbox Code Playgroud)

步骤 3.将属性 Authorize 添加到 blazor 页面

        @page "/item"
        @attribute [Authorize] 
Run Code Online (Sandbox Code Playgroud)

c# asp.net asp.net-core blazor blazor-server-side

3
推荐指数
1
解决办法
6255
查看次数

标签 统计

asp.net ×1

asp.net-core ×1

blazor ×1

blazor-server-side ×1

c# ×1