提问人:user1767316 提问时间:10/31/2023 最后编辑:user1767316 更新时间:11/8/2023 访问量:36
tableau-server 未验证 “tableau-server” openidc id_token (errorCode=69)。vizportal 日志显示 wasIssuedByOurIdP:false
"tableau-server" openidc id_token not validated (errorCode=69) by tableau-server. vizportal log says wasIssuedByOurIdP:false
问:
尝试使用 keycloak 2022-3-10.x86_64 用户设置 openid-connect 登录 19.0.3, 步骤 6 中的“id_token验证失败 (errorCode=69)”
client_authentication设置为 client_secret_basic 还是 client_secret_post 没有区别
点击 http://tableau-openidc.domain.some 后,用户将被重定向到Keycloack登录,并可以使用其密码进行身份验证。
Access 和 ID 令牌被 Tableau 接收并记录在案
激活扩展日志记录时。
以下日志显示:
parsing response. 2023-10-30 18:03:37.499 +0000 () catalina-exec-7 vizportal: DEBUG com.tableausoftware.domain.user.openid.OpenIDConnectHelper - Validating access token received.
2023-10-30 18:03:37.549 +0000 () catalina-exec-7 vizportal: DEBUG com.tableausoftware.domain.user.openid.OpenIDConnectHelper - Verifying access token isSignatureValid:true, isDestinedToUs:true,
wasIssuedByOurIdP:假, isTheTokenStillCurrent:true
2023-10-30 18:03:37.549 +0000 () catalina-exec-7 vizportal: WARN com.tableausoftware.api.webclient.WebClientGetAuthenticationController - WebClientGetAuthenticationController failed during OpenID login attempt
com.tableausoftware.domain.exceptions.AuthenticationException: id_token verification failed (errorCode=69) at com.tableausoftware.domain.user.openid.OpenIDConnectHelper.authorizeUserViaAccessToken(OpenIDConnectHelper.java:433) ~[tab-domain-user-latest.jar:?]
access- 和 id-token 都可以解码(例如:使用 https://jwt.io/)并使用 http://keycloack:8090/auth/realms/my/protocol/openid-connect/certs 中找到的 x5c 证书进行验证 在 ID 令牌中,可以找到以下声明:
- “子”: “D1B73CA0-CD07-415E-801E-4DC7534B8A2C”
- “电子邮件”: “[email protected]"
- “scope”: “openid 个人资料电子邮件”
(我也试过;-)使用 openid 和 profile 声明,将电子邮件作为值,结果相同:
- “openid”: “[电子邮件保护]"
- “个人资料”: “[email protected]" )
Keycloack 配置了:
- Credetntials/Client 和 Id 密钥
- 设置/客户端 ID/some-clientid
- 设置/名称/some-clientid
- 根网址: http://tableau-openid.domain.some
- 客户端身份验证:开
- 身份验证流:标准流、服务帐户角色(或非)
tableau-server 配置了:
tsm authentication openid configure
--client-id “some-clientid” --client-secret “abCDEfgHiJ2kl409m261N2OPqrS0tuVx” --config-url http://keycloak:8090/auth/realms/myrealm/.well-known/openid-configuration --
return-url “https://tableau-openid.domain.some”
TSM 身份验证 OpenID 启用
本地标识存储:
tsm 设置 import -f /opt/tableau/tableau_server/packages/scripts.20223.23.1234.5678/config.json
TSM 挂起更改适用
tableau-server 本地用户是从 CSV 设置的
tabcmd createusers ./users.csv --server http://tableau-openidc.domain.some --username tableau-admin
- 用户.csv:
[email protected],password,email,Viewer,,,[email protected]
d1b73ca0-cd07-415e-801e-4dc7534b8a2c,password,sub,Viewer,,,[email protected]
user-1,password,name,Viewer,,,[email protected]
答:
解决方案是运行 ,就像 keycloack 不支持 JWK 验证一样(cf:文档中的ignore_jwk选项tsm configuration set -k vizportal.openid.ignore_jwk -v true
)
评论
"aud": [ "some-clientid", "account" ],