我对 ASP.NET Core、Angular HttpClient 和 Observables 相当陌生,所以这个问题在一年前是合理的,但现在不再有必要了。
我没有正确使用 [Authorize] 属性 - 它应该位于控制器中所有 Action 方法上的 [Http] 动词属性之前 - 其中数据访问需要授权。
我也没有正确格式化我的逻辑来执行 JWT 令牌评估和模型状态验证 - 因此我的操作方法将返回无效模型状态的状态代码 400 (BadRequest) 和无效 JWT 或无效的状态代码 401 (未授权)基于登录时生成的 JWT 的会话超时。
学习如何使用 dbo.Session 数据库至关重要。 我必须在其 http 请求中包含 JWT 标头,并在会话控制器中执行 JWT 令牌验证和授权。
将您的
services.AddAuthentication();
更改为 services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme);