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