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 域中的客户端。