IdentityServer4密码授予

时间:2016-10-17 16:09:25

标签: asp.net-core identityserver4 asp.net-core-middleware

我已经建立了一个identityserver4实例,一个API项目和一个UI。

工作流程如下:

  1. 用户访问用户界面。
  2. 用户为UI提供用户名和密码。
  3. UI将凭据发送到Web应用程序的后面,该应用程序使用密码授予来使用IdentityServer4对用户进行身份验证。
  4. IdentityServer4返回一个令牌。
  5. 令牌用于识别用户对UI的用户以及用户可以访问网站的某些部分。
  6. 当用户需要在站点内执行某些操作时,令牌将通过bearer auth传递给API。
  7. 密码授予不可协商,因为这是第一方应用程序,将用户重定向远离主站点是没有意义的。

    适用于此的中间件是什么?我应该只使用CookieAuthenticationMiddleware并附加令牌作为声明吗?我需要访问来自HttpContext.User声明的声明。我需要使用IdentityMiddleware吗?

1 个答案:

答案 0 :(得分:4)

您可以使用密码授予类型请求身份范围,并使用userinfo端点将其解析为声明 - 如下例所示:

https://github.com/IdentityServer/IdentityServer4.Samples/tree/dev/Clients/src/ConsoleResourceOwnerFlowUserInfo

是的 - 您可以使用Cookie中间件来保留这些声明和访问令牌供以后使用。