Hello, using the CXF's STSClient[1] I've successfully been able to request a token against a Metro STS[2], but when I subsequently call the web service (also [2]) using that token I get an error back from the Metro web service:
<S:Fault> <faultcode>wsse:InvalidSecurityToken</faultcode> <faultstring>unsupported directreference ValueType http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.0#SAMLAssertionID</faultstring>... </S:Fault> It seems Metro doesn't like how CXF constructs the wsse:SecurityTokenReference of the SOAP request: <wsse:SecurityTokenReference wsu:Id="STRId-92A0C6CB3AAFA718FD12790621940816"> <wsse:Reference URI="#uuid-893daf04-8ea1-4d32-8b6f-05903e8d7e34" ValueType="http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.0#SAMLAssertionID"/> </wsse:SecurityTokenReference> It's expecting this format instead (see [3] for the full example): <wsse:SecurityTokenReference> <wsse:KeyIdentifier ValueType="http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.0#SAMLAssertionID">uuid-7a6d6259-af70-466f-b6c6-fd89c44bea71 </wsse:KeyIdentifier> </wsse:SecurityTokenReference> Somebody has already asked about this[4] on the Metro User's List -- Kumar of the Metro team wrote that they support just the latter as that's what's given in the SAML Token Profile for 1.1[5]--and he seems to be correct, Section 3.4 of [5] states: "This profile does not describe the use of Direct or URI references to reference V1.1 SAML assertions." and provides many examples of the above ValueType being used within wsse:KeyIdentifier elements. I'm not sure how to get this fixed. Is this: 1.) A WS-SecurityPolicy configuration issue, i.e., I can change the policy to force CXF to send the KeyIdentifier type to the Metro web service instead of the Reference type? 2.) A CXF bug for which I should submit a JIRA ticket? 3.) A WSS4J bug to JIRA? (I don't think so, but don't know). 4.) Or, indeed a Metro/XWSS bug -- is there some documentation we can point to which would indicate the wsse:Reference is kosher and correct here? Finally, if [2], would the fix be to switch to the former to the latter for all SAML token references (I'm not sure if making this change to enable me to access a Metro web service would end up breaking everyone else's code), or to provide a configuration option to allow for either type to be sent to the Metro web service? Thanks, Glen [1] https://cwiki.apache.org/CXF20DOC/ws-trust.html [2] http://www.jroller.com/gmazza/entry/metro_and_wstrust [3] http://www.jroller.com/gmazza/entry/metro_wstrust_analysis (Step #3 at the bottom, upper portion showing the traced SOAP request) [4] http://forums.java.net/jive/thread.jspa?threadID=63505 [5] http://www.oasis-open.org/committees/download.php/21206/wss-v1.1-spec-errata-os-SAMLTokenProfile.html -- View this message in context: http://cxf.547215.n5.nabble.com/Problem-using-SAML-token-profile-to-access-a-Metro-web-service-tp1064848p1064848.html Sent from the cxf-user mailing list archive at Nabble.com.
