【发布时间】:2021-02-23 21:07:32
【问题描述】:
我想实现一个 OpenID Connect 服务器,我不知道我应该如何为客户端管理 JWK?只需一个 JWK 即可唱出所有 JWT 令牌或为每个客户端生成 JWK? 感谢任何可以帮助我的教程链接。
【问题讨论】:
标签: oauth-2.0 openid-connect openid jwk
我想实现一个 OpenID Connect 服务器,我不知道我应该如何为客户端管理 JWK?只需一个 JWK 即可唱出所有 JWT 令牌或为每个客户端生成 JWK? 感谢任何可以帮助我的教程链接。
【问题讨论】:
标签: oauth-2.0 openid-connect openid jwk
每个客户端都应该有自己的 JWK。 OpenID Connect Dynamic Client Registration 1.0 将 jwks 和 jwks_ur 定义为客户端元数据。
【讨论】:
好的,我研究了一下,得到的是这样的:
Google 使用单个端点来获取其 JWK 并验证签名。不管是什么客户。
Auth0 为每个租户使用一个私钥,因此它为该租户中的所有客户端使用一个公钥/私钥。
Keycloak 每个领域使用一个密钥。因此该领域中的所有客户端都使用该单个公钥。
我的结论 如果我们的 OP 是多租户的,则每个租户的公钥/私钥可以是唯一的,否则为所有客户端使用单个公钥/私钥对。请注意,我们也应该有密钥轮换。
【讨论】: