Forums, Documentation & Knowledge Base - ComponentSpace

InitiateSSO call contains null


https://componentspace.com/forums/Topic11710.aspx

By nulleleven - 8/24/2021

Hello everyone!

I'm sure this has been covered somewhere, but I'm just not finding it. When calling:

InitiateSSO(HttpResponse httpResponse, string relayState, string partnerIdP)

we are getting the error:

"Object reference not set to an instance of an object."
"at ComponentSpace.SAML2.Bindings.HTTPRedirectBinding.SendRequest(HttpResponse httpResponse, String baseURL, XmlElement samlMessage, String relayState, AsymmetricAlgorithm key, String signatureAlgorithm)"

The values for HttpResponse, relayState, and partnerIdP are not null (and there is a config associated to the partnerIdP), I'm unsure where the null is coming from, or what information is to be expected that may not be contained in the HttpResponse. Are there steps we can take to trace the values being passed within InitiateSSO to uncover what is being sent to SendRequest as a null value?

Thank you!
By ComponentSpace - 9/28/2021

paulkeefe - 9/28/2021
paulkeefe - 9/28/2021
ComponentSpace - 9/28/2021
The configured name is "https://my-idp.net". The issuer field in the SAML response is "https://my-idp.net/".

Update your saml.config so the name includes the trailing slash.

<PartnerIdentityProvider
    Name="https://my-idp.net/"

Fantastic! I just sent you the log file, but this sounds like the first step. I'll give it a try now and let you know how it goes.
Thanks, Paul

That worked! The issue now is the reading of the X509.

An X.509 signature certificate for the partner identity provider https://my-idp.net/ hasn't been configured.

This is a question I asked earlier, but now it is back to the front. Can I configure the product to read the certificate from their metadata (<X509Data>)? Or do I need to get their actual certificate and put it in my Certificates folder? Could I simply take their base64 from their metadata and use that somehow?



Simply copy the base-64 string to a text file with a .CER extension. Configure this file as the partner identity provider's certificate file. 

For example:

<PartnerIdentityProvider
  Name="https://my-idp.net/"
  <PartnerCertificates>
    <Certificate FileName="my-idp.cer"/>
  </PartnerCertificates>
</PartnerIdentityProvider>