0

我们目前正在构建后端 ASP.NET Core 微服务的集合。这些服务不会直接从前端应用程序访问,而是通过 ASP.NET Core API 网关访问。我们将 IdentityServer4 用于 OpenID Connect 服务器。我已经能够设置UseJwtBearerAuthentication中间件,让 API 网关针对 IdentityServer4 验证 JWT 不记名令牌(access_token)。我希望能够让 API 网关基于 access_token 将 id_token 注入到可能需要了解最终用户的后端服务的请求中。

有没有办法配置 JWT 中间件以在验证 access_token 时检索 id_token 还是我需要在 API 网关中手动调用 OpenID Connect 服务器?

4

2 回答 2

1

您不要在 API 中使用 id_tokens - 它们是用于客户端的。

如果您想访问某些身份声明,请将它们包含在访问令牌中(通过在资源范围上配置 ScopeClaims),或者使用访问令牌联系 userinfo endoint,这反过来将返回身份声明。

于 2016-06-29T06:12:54.417 回答
0

JWT 中间件执行独立验证,它不联系身份服务器来验证或检索任何内容。你必须打一个额外的电话。

于 2016-06-23T21:00:08.570 回答