【发布时间】:2022-11-13 00:32:53
【问题描述】:
我正在使用 keycloak 在由 API gatware 大使管理的 kubernetes 集群中实现 OAuth2 代码授权流程,我正在使用 Istio 服务网格将所有可跟踪性、mTLS 功能添加到我的集群中。其中之一是 Jaeger,它要求所有服务转发 x-request-id 标头,以便将跨度链接到特定跟踪。
发送请求时,连接到 Ambassador 的 Istio 代理将生成 x-request-id 并转发请求 keycloak 以进行授权,当结果发送回大使时,标头被丢弃,因此 keycloak 的 istio 代理将是生成一个新的x-header-id。下图显示了问题:
这是我丢失 x-request-id 的跟踪照片:
如果传递给它,有没有办法可以强制 Keycloak 转发 x-request-id 标头?
更新这是与 Keycloak 关联的环境变量(ConfigMap):
kind: ConfigMap
apiVersion: v1
metadata:
name: keycloak-envars
data:
KEYCLOAK_ADMIN: "admin"
KC_PROXY: "edge"
KC_DB: "postgres"
KC_DB_USERNAME: "test"
KC_DB_DATABASE: "keycloak"
PROXY_ADDRESS_FORWARDING: "true"
【问题讨论】:
标签: oauth-2.0 keycloak istio jaeger ambassador