Keycloak使用Istio和JWT提供无效签名

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

我在Auth 2.0中使用Keycloak(最新版本)来验证身份验证,提供令牌(JWT)并使用提供的令牌,允许根据权限访问应用程序URL。 Keycloak目前在Kubernates运行,Istio为Gateway。对于Keycloak,这是使用的策略:

apiVersion: authentication.istio.io/v1alpha1
kind: Policy
metadata:
  name: application-auth-policy
spec:
  targets:
  - name: notification
  origins:
  - jwt:
      issuer: http://<service_name>http.<namespace>.svc.cluster.local:8080/auth/realms/istio
      jwksUri: http://<service_name>http.<namespace>.svc.cluster.local:8080/auth/realms/istio/protocol/openid-connect/certs
  principalBinding: USE_ORIGIN

客户在此Keycloak中注册并为其创建了RSA。发行者可以正常生成令牌,并且策略已成功应用。

问题:

  1. 即使设置了所有内容,Keycloak提供的令牌根据JWT Validator也具有签名无效。
  2. 此令牌不允许使用401代码对URL进行任何访问。

其他人有类似的问题吗?

jwt keycloak istio
1个回答
0
投票

该问题通过两个选项解决:1。通过外部服务器ip和外部端口替换服务名称和端口(对于issuer和jwksUri)2。禁用mTLS及其策略的使用(已知问题:https://github.com/istio/istio/issues/10062)。

© www.soinside.com 2019 - 2024. All rights reserved.