【问题标题】:Use IdentityServer4 to generate token for client使用 IdentityServer4 为客户端生成令牌
【发布时间】:2022-01-20 07:22:43
【问题描述】:

我有多个客户端,他们有一个 API,我的微服务向他们发送一个带有 JWT 令牌的发布请求。 我正在考虑使用 IdentityServer4 生成我的 JWT 令牌(RSA256)并为每个客户端配置一个。 由于 JWKS_URI,每个客户端都可以验证令牌。

这是一个很好的方法吗?

编辑更新图: 我分离了层,将发送者与接收者分开。

编辑更新图: 我更新了我的图表,谁会更明确:

谢谢你的cmets

【问题讨论】:

    标签: asp.net-core jwt rsa openid-connect


    【解决方案1】:

    在 IdentityServer 术语中,微服务是一个客户端,client1/2 是一个 ApiResource(绑定到 ApiScope)。

    如果没有用户参与,并且微服务本身应该能够向 API 发送请求,那么您应该使用 client_credentials 流。有了 with flow,就没有 ID-token。

    如果有用户登录你的微服务,那么你应该使用授权码流。

    除此之外,我认为这是一个好计划,您应该考虑事物的命名。如果有用户通过它登录,我会将微服务称为 WebClient 或 WebApplication。

    【讨论】:

    • 是的,没有用户参与,微服务本身向 API 发送请求。是的,我使用 client_credentials。微服务是作为 Windows 服务的 .net 核心应用宿主。
    • 是的,这听起来是个好主意!
    • 我心里有个问题,通常情况下,ApiResource(client1 和 client2)不是验证令牌并接收声明吗?但由于我有一个特殊情况,我的微服务可以做到这一点。
    • 是的,图中的 client1+2 是 API,最好映射为 IdentiyServer 中的 ApiResources,有关详细信息,请参阅我的答案
    • 您是否忘记了更多详细信息的链接?
    猜你喜欢
    • 2022-10-15
    • 2020-12-07
    • 2013-04-18
    • 2014-11-17
    • 2018-04-27
    • 2017-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多