我已经建立了一个 identityserver4 实例、一个 API 项目和一个 UI。
工作流程如下:
- 用户访问 UI。
- 用户向 UI 提供用户名和密码。
- UI 将凭据发送到 Web 应用程序的背面,该应用程序使用密码授权来使用 IdentityServer4 对用户进行身份验证。
- IdentityServer4 返回一个令牌。
- 令牌用于识别用户对 UI 的身份以及用户有权访问网站的某些部分。
- 当用户需要在站点内做某事时,令牌会通过不记名身份验证传递给 API。
密码授予不可协商,因为这是第一方应用程序,将用户重定向到主站点是没有意义的。
用于此的正确中间件集是什么?我应该只使用 CookieAuthenticationMiddleware 并将令牌作为声明附加吗?我需要从 HttpContext.User 声明中访问声明。我需要使用 IdentityMiddleware 吗?