12.3. 3scale Zync 如何将应用程序详情与 OpenID Connect 身份提供程序同步
Zync 是一个 3scale 组件,可可靠地将数据推送到 OpenID Connect 身份提供程序中。在此交互中,3scale 应用与 OpenID Connect 身份提供程序客户端对应。换句话说,Zync 与 OpenID Connect 身份提供程序通信,以创建、更新和删除 OpenID Connect 客户端。
Zync 实现 Keycloak 默认客户端注册。此 API 的使用意味着客户端代表特定于 Keycloak 和 RH-SSO。身份提供程序会返回客户端 ID 和客户端 secret,它们是 3scale 应用的身份验证凭据。
每次创建、更新或删除应用程序时,Zync 与 OpenID Connect 身份提供程序通信,以相应地更新对应的客户端。成功同步需要给定 3scale 产品的以下设置:
- 身份验证机制为 OpenID Connect。
OpenID Connect 签发者类型是:
- 当 Red Hat Single Sign-On 是 OpenID Connect 身份提供程序时,RH-SSO。使用这个签发者类型,Zync 会将客户端注册请求发送到 Keycloak/RH-SSO 默认客户端注册 API。
- 其他 OpenID Connect 身份提供程序的 REST API。使用这个签发者类型,Zync 会发送客户端注册请求,如 Zync REST API 示例中所示。
-
如下 URL 是 OpenID Connect Issuer:
http://id:/api_endpoint
。
当部署到 OpenShift 集群时,有两个 Zync 进程:
-
zync
是一个 REST API,它从system-sidekiq
接收通知,并将后台作业排队到zync-que
。有针对新的、更新和删除 3scale 应用程序的通知。 -
zync-que
处理这些后台作业,它们与system-app
和 OpenID Connect 身份提供程序通信。例如,当 RH-SSO 是配置的 OpenID Connect 身份提供程序时,Zync 创建、更新和删除 RH-SSO 域中的客户端。