【发布时间】:2021-06-09 06:11:53
【问题描述】:
我正在运行 keycloak(版本 11.01)并添加了 SAML 2.0 身份提供程序。似乎所有握手和登录都在工作,但在那一步之后我得到了 NullPointerException(如果我正确解释了错误日志)
00:27:04,170 ERROR [org.keycloak.services.error.KeycloakErrorHandler] (default task-5) Uncaught server error: org.keycloak.broker.provider.IdentityBrokerException: Could not process response from SAML identity provider.
at org.keycloak.broker.saml.SAMLEndpoint$Binding.handleLoginResponse(SAMLEndpoint.java:444)
at org.keycloak.broker.saml.SAMLEndpoint$Binding.handleSamlResponse(SAMLEndpoint.java:479)
at org.keycloak.broker.saml.SAMLEndpoint$Binding.execute(SAMLEndpoint.java:237)
at org.keycloak.broker.saml.SAMLEndpoint.postBinding(SAMLEndpoint.java:157)
.
.
.
Caused by: java.lang.NullPointerException
at java.util.regex.Matcher.getTextLength(Matcher.java:1283)
at java.util.regex.Matcher.reset(Matcher.java:309)
at java.util.regex.Matcher.<init>(Matcher.java:229)
at java.util.regex.Pattern.matcher(Pattern.java:1093)
at java.util.regex.Pattern.split(Pattern.java:1206)
at org.keycloak.broker.provider.util.IdentityBrokerState.encoded(IdentityBrokerState.java:41)
at org.keycloak.services.resources.IdentityBrokerService.parseEncodedSessionCode(IdentityBrokerService.java:980)
at org.keycloak.services.resources.IdentityBrokerService.authenticated(IdentityBrokerService.java:490)
at org.keycloak.broker.saml.SAMLEndpoint$Binding.handleLoginResponse(SAMLEndpoint.java:440)
... 63 more
不幸的是,在此之后似乎堆栈跟踪被切断了,我没有看到更多细节(目前正在使用 TRACE 日志记录运行)
我没有设置任何映射器,因为我希望透明地获取属性(使用它们在 saml-xml 中的名称)
以前有没有人经历过这种情况或知道如何获取更多详细信息?我可以对 keycloak 的源代码进行任何单元测试来验证这一点吗?
谢谢!
【问题讨论】: