我需要构建 Keycloak 的自定义版本,以便在密码重置发生时执行另一个操作。为此,我按照 git 存储库上的自述文件中描述的步骤进行操作:
keycloak-saml-core 模块中的一些测试失败:
org.keycloak.saml.processing.core.parsers.saml.SAMLParserTest
[ERROR] testSaml20AuthnResponseNonAsciiNameDefaultLatin2(org.keycloak.saml.processing.core.parsers.saml.SAMLParserTest) Time elapsed: 0.008 s <<< ERROR!
ParsingException [location=null]org.keycloak.saml.common.exceptions.ParsingException: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[9,91]
Message: Invalid byte 2 of 3-byte UTF-8 sequence.
at org.keycloak.saml.common.DefaultPicketLinkLogger.parserException(DefaultPicketLinkLogger.java:420)
at org.keycloak.saml.common.util.StaxParserUtil.getElementText(StaxParserUtil.java:492)
at org.keycloak.saml.processing.core.parsers.util.SAMLParserUtil.parseNameIDType(SAMLParserUtil.java:57)
at org.keycloak.saml.processing.core.parsers.saml.assertion.SAMLSubjectParser.processSubElement(SAMLSubjectParser.java:58)
at org.keycloak.saml.processing.core.parsers.saml.assertion.SAMLSubjectParser.processSubElement(SAMLSubjectParser.java:36)
at org.keycloak.saml.common.parsers.AbstractStaxParser.parse(AbstractStaxParser.java:97)
at org.keycloak.saml.processing.core.parsers.saml.assertion.SAMLAssertionParser.processSubElement(SAMLAssertionParser.java:69)
at org.keycloak.saml.processing.core.parsers.saml.assertion.SAMLAssertionParser.processSubElement(SAMLAssertionParser.java:34)
at org.keycloak.saml.common.parsers.AbstractStaxParser.parse(AbstractStaxParser.java:97)
at org.keycloak.saml.processing.core.parsers.saml.protocol.SAMLResponseParser.processSubElement(SAMLResponseParser.java:77)
at org.keycloak.saml.processing.core.parsers.saml.protocol.SAMLResponseParser.processSubElement(SAMLResponseParser.java:38)
at org.keycloak.saml.common.parsers.AbstractStaxParser.parse(AbstractStaxParser.java:97)
at org.keycloak.saml.processing.core.parsers.saml.SAMLParser.parse(SAMLParser.java:123)
at org.keycloak.saml.common.parsers.AbstractParser.parse(AbstractParser.java:98)
at org.keycloak.saml.common.parsers.AbstractParser.parse(AbstractParser.java:102)
at org.keycloak.saml.processing.api.saml.v2.response.SAML2Response.getSAML2ObjectFromStream(SAML2Response.java:389)
at org.keycloak.saml.processing.core.parsers.saml.SAMLParserTest.assertParsed(SAMLParserTest.java:141)
at org.keycloak.saml.processing.core.parsers.saml.SAMLParserTest.testSaml20AuthnResponseNonAsciiNameDefaultLatin2(SAMLParserTest.java:262)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) …Run Code Online (Sandbox Code Playgroud)