oauth2.0 keycloak中的x-requext-id报头传播

6qqygrtg  于 2022-11-21  发布在  其他
关注(0)|答案(1)|浏览(147)

我 正在 使用 keycloak 在 一 个 由 API gatware Ambassador 管理 的 kubernetes 集群 中 实现 OAuth2 代码 授权 流 , 我 正在 使用 Istio Service mesh 向 我 的 集群 添加 所有 可 跟踪 性 、 mTLS 特性 。 其中 一 个 特性 是 Jaeger , 它 要求 所有 服务 转发 x-request-id 头 , 以便 将 跨度 链接 到 特定 跟踪 中 。
发送 请求 时 , 连接 到 大使 的 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"

中 的 每 一 个

13z8s7eq

13z8s7eq1#

您 可能 需要 使用 环境 变量 PROXY_ADDRESS_FORWARDING=true 重新 启动 keycloak docker 容器 。

  • 例如 : docker run -e PROXY_ADDRESS_FORWARDING=true jboss/keycloak

相关问题