You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Tableau Server集成Keycloak OpenID Connect遇errorCode=69验证失败

问题排查:Tableau OpenID Connect登录id_token验证失败(errorCode=69)

核心错误点

从扩展日志可明确关键失败原因:

Verifying access token isSignatureValid:true, isDestinedToUs:true, wasIssuedByOurIdP:false, isTheTokenStillCurrent:true

签名有效、令牌目标正确、未过期,但Tableau判定令牌并非由配置的IDP签发,这是errorCode=69的直接诱因。

可能原因及解决方法

1. IDP签发地址与Tableau配置不匹配

  • 问题:Keycloak签发JWT时的iss(签发者)声明值,和Tableau通过config-url获取的IDP元数据中issuer字段不一致。比如Keycloak内部用http://keycloak:8090/auth/realms/myrealm作为iss,但Tableau配置的元数据返回外部域名地址,或反过来。
  • 解决步骤:
    1. 解码ID令牌,获取iss字段的具体值。
    2. 访问Tableau配置的config-url,查看返回的issuer字段值。
    3. 确保两者完全一致,包括协议(http/https)、主机名、端口、realm路径,无拼写错误。

2. Keycloak Realm前端URL配置错误

  • 问题:Keycloak默认用内部主机名生成iss声明,若未配置Realm前端URL,签发的JWT会包含内部不可访问地址,导致Tableau校验不通过。
  • 解决步骤:
    1. 登录Keycloak后台,进入对应Realm的「设置」页面。
    2. 设置「前端URL」为Tableau可访问的Keycloak外部地址,比如http://keycloak.domain.some:8090/auth。
    3. 保存配置后重新发起登录,检查新JWT的iss字段是否更新为该外部地址。

3. Realm名称拼写不一致

  • 问题:你提供的Keycloak证书路径是http://keycloack:8090/auth/realms/my/...,但Tableau配置的config-url用的是myrealm,存在Realm名称拼写不一致的可能。
  • 解决步骤:
    1. 确认Keycloak实际使用的Realm名称(my或myrealm)。
    2. 修正Tableau的config-url,确保Realm名称与Keycloak一致,例如统一为http://keycloak:8090/auth/realms/my/.well-known/openid-configuration。

4. Tableau返回URL协议/主机名不一致

  • 问题:你配置的Tableau返回URL是https://tableau-openid.domain.some,但访问地址是http://tableau-openidc.domain.some,协议和主机名存在差异,可能影响IDP回调校验。
  • 解决步骤:
    1. 统一Tableau访问地址和返回URL的协议、主机名,确保完全匹配。
    2. 更新Keycloak客户端的「根URL」和「有效重定向URI」,与Tableau返回URL保持一致。

补充验证步骤

完成调整后重新发起登录:

  1. 开启Tableau扩展日志,确认wasIssuedByOurIdP变为true。
  2. 若仍有问题,检查JWT的aud(受众)声明是否包含Tableau的client-id(some-clientid),确保令牌确实签发予Tableau客户端。

内容的提问来源于stack exchange,提问作者user1767316

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 03:45:10