我已经在 Start.cs 中准备了这样的身份验证。
...
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(a => a.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuer = true,
ValidateAudience = true,
ValidateLifetime = true,
ValidateIssuerSigningKey = true,
ValidIssuer = "beep",
ValidAudience = "bopp",
IssuerSigningKey = new SymmetricSecurityKey(
Encoding.UTF8.GetBytes("SecurityKeyOfProperLength"))
});
...
当我使用 [Authorize] 属性装饰控制器中的一种方法时,我不再获得它所指向的视图。相反,正如预期的那样,我得到401未经授权。
下一步,我要重定向到我的登录页面,该页面位于控制器 Security 和方法 Login 中。我不知道如何在没有问答的情况下正确实现它。
我尝试做的是Google,当然,我发现了很多有关如何从SPA处理该问题的示例。就我而言,这是在后端渲染的好用的普通MVC,因此据我所知这是不适用的。
我还看到我可以覆盖 OnChallenge ,但不建议这样做。
一堆链接指向IDS之类的第三方。就我而言,我想至少从现在开始学习过程并通过微管理对其进行控制。通常是因为我想深入学习。
如何配置我的 AddAuthentication ,以便使用户跳回正确的控制器和方法(仍然使用最佳实践)?关于要寻找的术语的一些提示非常有用-我并不懒惰,只是谨慎而又不确定什么是好东西,以及其他困惑的博客作者的作品。