【发布时间】:2019-09-28 14:34:57
【问题描述】:
我有一个 .net core 2.2 API 项目,它被 Angular 应用程序使用。为了保护 API,我使用了 JWT。 API 和 SPA 都是内部应用程序。
我正在使用具有资源所有者密码授权类型的 IdentityServer4。我听说不建议这样做,但是为每个用户分配了不同的角色,这些角色必须放在 JWT 的角色声明中。这允许 .net 核心授权数据注释授予和限制对每个路由的访问。
我现在的流程是用户登录到将凭据发送到 API 的 SPA。 API 使用 Identity 来验证凭据。验证成功后,API 向 IdentityServer4 发送请求以获取 JWT,然后将其发送回 SPA。然后将 JWT 保存到本地存储以用于每个请求。
我想知道我是否应该从 SPA 直接从 IdentityServer4 请求令牌(IS4 可以访问 Identity 上下文并验证 un/pw)?还有我忽略的流程中的任何其他重大缺陷。
【问题讨论】:
-
这篇文章可能会有所帮助:leastprivilege.com/2019/01/18/…
标签: c# asp.net-core identityserver4