Asp.net core IdentityServer4密码授予

Asp.net core IdentityServer4密码授予,asp.net-core,identityserver4,asp.net-core-middleware,Asp.net Core,Identityserver4,Asp.net Core Middleware,我已经建立了一个identityserver4实例、一个API项目和一个UI 工作流程如下: 用户访问UI 用户向用户界面提供用户名和密码 UI将凭据发送到web应用程序的背面,该应用程序使用密码授权使用IdentityServer4对用户进行身份验证 IdentityServer4返回一个令牌 令牌用于标识用户对UI的身份以及用户对站点某些部分的访问权限 当用户需要在站点内执行某些操作时,令牌将通过承载身份验证传递给API 密码授权是不可协商的,因为这是第一方应用程序,将用户重定向到主站点是没

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

工作流程如下:

  • 用户访问UI
  • 用户向用户界面提供用户名和密码
  • UI将凭据发送到web应用程序的背面,该应用程序使用密码授权使用IdentityServer4对用户进行身份验证
  • IdentityServer4返回一个令牌
  • 令牌用于标识用户对UI的身份以及用户对站点某些部分的访问权限
  • 当用户需要在站点内执行某些操作时,令牌将通过承载身份验证传递给API 密码授权是不可协商的,因为这是第一方应用程序,将用户重定向到主站点是没有意义的


    用于此目的的适当中间件集是什么?我是否应该使用CookieAuthenticationMiddleware并将令牌作为声明附加?我需要从HttpContext.User声明访问声明。是否需要使用IdentityMiddleware?

    您可以使用密码授予类型请求标识作用域,并使用userinfo端点将其解析为声明-如本示例中所示:


    是的,您可以使用cookie中间件来保存这些声明和访问令牌,以备以后使用。

    您好,如果客户端是Javascript客户端,而我无法存储机密,我会使用隐式流吗?我面临着一个类似的场景,不需要将用户重定向到单独的登录屏幕,因为客户端是第一方AngularJS应用程序。任何想法都将不胜感激!