相关疑难解决方法(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
查看次数

如何使用 Identity Server 授权 Blazor WebAssembly SPA 应用程序

我正在编写一个演示 Blazor WebAssembly SPA 技术演示应用程序,但我在身份验证方面遇到了一些问题。我将使用 Identity Server 进行授权,但我找不到任何支持它的库。我发现的所有教程都指导使用 Blazor Server 或添加托管的 ASP.net Core,但这对我的演示应用程序来说没有意义。

如果有人可以提供帮助,我很高兴。

谢谢

authentication identityserver4 blazor blazor-client-side

2
推荐指数
1
解决办法
5898
查看次数