Keycloak 管理 UI 与 istio RequestAuthentication

问题描述 投票:0回答:1

我正在尝试使用 keycloak 为我在 EKS 上托管的许多服务设置 istio JWT 身份验证规则。我原以为一切正常,直到我尝试访问 keycloak 管理 UI,当我尝试调用 localization/en 等需要使用主领域标头的位置时,它会向我显示 401。我想我可能还需要将 master 领域添加到 jwt 规则中,所以我已经这样做了,但我仍然没有太多运气。

apiVersion: security.istio.io/v1beta1
kind: RequestAuthentication
metadata:
  name: keycloak-request-authentication
  namespace: istio-system
spec:
  selector:
    matchLabels:
      app: istio-ingressgateway
  jwtRules:
    - issuer: http://auth.platform.com/auth/realms/other
      jwksUri: http://auth.platform.com/auth/realms/other/protocol/openid-connect/certs
    - issuer: http://auth.platform.com/auth/realms/master
      jwksUri: http://auth.platform.com/auth/realms/master/protocol/openid-connect/certs

我正在使用 keycloakx 版本 2.3.0,确切的错误似乎是 -

Error: Network response was not OK.
    at fetchWithError (http://auth.platform.com/auth/resources/6jpo1/admin/keycloak.v2/assets/index-8a79a090.js:67:121366)
    at async Agent.requestWithParams (http://auth.platform.com/auth/resources/6jpo1/admin/keycloak.v2/assets/index-8a79a090.js:67:124011

自从将主领域添加到我的 RequestAuthentication 后,身份验证对于所有其他服务都运行良好,只是 keycloak 似乎发生了一些奇怪的事情,导致 JWT 被拒绝。

任何帮助将不胜感激。谢谢。

kubernetes keycloak istio
1个回答
1
投票

它将向 keycloak 发送一个空白的身份验证标头,您需要确保原始令牌随请求一起转发。

  - issuer: http://auth.platform.com/auth/realms/master
  jwksUri: http://auth.platform.com/auth/realms/master/protocol/openid-connect/certs
  forwardOriginalToken: true
© www.soinside.com 2019 - 2024. All rights reserved.