Hi Hynek
Keycloak 3.3.0 Final is still broken for issue KEYCLOAK-4818.
https://issues.jboss.org/browse/KEYCLOAK-4818
The SAML dsig error occurred in SAMLDataMarshaller.*deserialize()* method
The fix for KEYCLOAK-4818 was added to SAMLDataMarshaller.*serialize()* method
however the error occured in SAMLDataMarshaller.*deserialize()* method.
Please refer to the change set report below.
https://source.jboss.org/changelog/Keycloak?cs=
d52d685161336d68413bc633a81b223c66886c7a
I also notice in the change set, the new unit test methods only assert the
serialize() method. The deserialize() test method (ie *testParseResponse()
) does not test *for any dsig namespace.
Are you able to update your unit test and verify the fix? Thank you for
your help.
SAMLDataMarshaller.java line 85
Caused by: java.lang.RuntimeException:
com.ctc.wstx.exc.WstxParsingException: Undeclared namespace prefix
"dsig"
at [row,col
{unknown-source}]: [1,914]
at
org.codehaus.stax2.ri.evt.Stax2FilteredEventReader.hasNext(Stax2FilteredEventReader.java:58)
at
org.keycloak.saml.processing.core.parsers.saml.SAMLAssertionParser.parse(SAMLAssertionParser.java:84)
at
org.keycloak.saml.processing.core.parsers.saml.SAMLResponseParser.parse(SAMLResponseParser.java:73)
at org.keycloak.saml.processing.core.parsers.saml.SAMLParser.parse(SAMLParser.java:81)
at org.keycloak.saml.common.parsers.AbstractParser.parse(AbstractParser.java:90)
at org.keycloak.broker.saml.SAMLDataMarshaller.deserialize(SAMLDataMarshaller.java:85)
at
org.keycloak.authentication.authenticators.broker.util.SerializedBrokeredIdentityContext.deserialize(SerializedBrokeredIdentityContext.java:277)
Best Regards
Michael Mok