We have a client using SAML 1.1 browser/Artifact configuration and are trying to connect via SSO. After we issue the soapBinding.Send command we receive an xmlElement containing a prefix of ‘saml1p’. We then use xmlElement to create a response by using the following statement.
ComponentSpace.SAML.Protocol.Response samlResponse = new Response(xmlElement);
The relevant snippet of the samlRepsonse is here:
saml1p:Status<saml1p:StatusCode Value=“saml1p:Success”/></saml1p:Status>
The problem shows up when we try and validate the above status using this snippet of code
if (!samlResponse.Status.IsSuccess())
{
System.Diagnostics.Trace.Write(samlResponse.Status.ToString());
throw new ArgumentException(String.Format(“Error”));
}
If the prefix matches ‘samlp’ (the default prefix/namespace ComponentSpace uses) the IsSuccess() function works properly, but with any other prefix it doesn’t work. The client has indicated that they are unable to change the prefix they are using to ‘samlp’. Is there some reason why ComponentSpace requires the ‘samlp’ prefix to determine the StatusCode is ‘Success’?
Duane McDowell
Hi Duane
This was fixed back in 2012.
Which version of the ComponentSpace.SAML DLL do you have?
http://www.componentspace.com/Forums/31/Determining-the-Component-Version-and-License
Version we were on is 1.8.0.3. I have upgraded to the latest version we have and that resolves the issue. Thanks,
Duane McDowell
Thanks Duane.