我做了以下(它应该工作但它没有),没有重定向,没有错误,没有任何东西,它只是显示没有身份验证的页面,我做错了什么?
步骤 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) 我正在编写一个演示 Blazor WebAssembly SPA 技术演示应用程序,但我在身份验证方面遇到了一些问题。我将使用 Identity Server 进行授权,但我找不到任何支持它的库。我发现的所有教程都指导使用 Blazor Server 或添加托管的 ASP.net Core,但这对我的演示应用程序来说没有意义。
如果有人可以提供帮助,我很高兴。
谢谢