问题描述
我正在以独立模式运行 Keycloak 实例。我已将 Keycloak 配置为 WSO2 IS 中的 OIDC 联合 IdP,并将 WSO2 IS 配置为 Keycloak 中的客户端。我还有一个正在运行的应用程序,它连接到 WSO2 IS 并使用 Keycloak 进行联合身份验证。 我可以毫无问题地登录应用程序,但是当我尝试从应用程序注销时,在 Keycloak 中会发生注销,但 Keycloak 控制台中出现以下错误,
[org.keycloak.services] (default task-17) KC-SERVICES0057: logout for client 'WSO2-IS' Failed: javax.net.ssl.SSLHandshakeException: PKIX path building Failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
我尝试创建密钥库 standalone/configuration/application.keystore
并将 WSO2 IS 的证书导入其中,并将 Keycloak 的证书导入 WSO2 IS 密钥库。但它没有用。 (请注意,即使在服务器启动之后,application.keystore
也不在 standalone/configuration/
位置。)
我在这个设置中遗漏了什么吗?
解决方法
在检查 Keycloak 的信任库中的证书后修复了该问题。
原因:未正确导入 WSO2 IS 的证书且未正确配置信任库。