我们目前正在构建一个后端ASP.NET Core微服务的集合。这些服务不会直接从前端应用程序访问,而是通过ASP.NET Core API网关访问。我们将IdentityServer4用于OpenID Connect服务器。我已经能够设置UseJwtBearerAuthentication
中间件以使API网关针对IdentityServer4验证JWT承载令牌(access_token)。我希望能够让API网关基于access_token将id_token注入到可能需要了解最终用户的后端服务的请求中。
有没有办法在验证access_token时配置JWT中间件来检索id_token,还是需要在API网关中手动调用OpenID Connect服务器?
答案 0 :(得分:1)
您不在API上使用id_tokens - 它们适用于客户端。
如果您想要访问某些身份声明,请将它们包含在访问令牌中(通过在资源范围内配置ScopeClaims),或使用访问令牌联系userinfo端点,后者又将返回身份声明
答案 1 :(得分:0)
JWT中间件执行独立验证,它不会与身份服务器联系以验证或检索任何内容。你不得不另外打电话。