Single Sign On integration with Ping Federate

Hi Purecloud dev. Team,

We are trying to do the integration of the SSO sign-in with customer's IdP and faces some issues.
Customer is using Ping federate which is the on-premise version of Ping Identity.

We know this is a non-supported platform, but considering customer can change the configuration on the IdP side, they would like to try the integration.

We have configured our org to connect to customer's IdP by using Ping SSO.
We also configured customer' IdP as per the documentation to be used for Ping SSO.

When performing authentication using Ping Identity on the login page, after entering the credentials on the customer's IdP page, the redirection to Purecloud fail to complete and we got the error page asking to contact the administrator.

Looking at the SAML exchange, we cannot understand why this is failing on Purecloud side. There may be some missing fields.

I have log a ticket to request log from Purecloud application to understand the reason of the failure, but the support team indicated they cannot assist on collecting the log or giving us the reason of the failure and suggested us to reach out the developer forum.

Will it be possible to provide us with additional logs or reason of the failure?
The case number is 0002295494 and contains the SAML exchange including the time of the test.

Many thanks and Best regards,
Roland.

Can you provide the information here please? Only PureCloud Care staff have access to tickets.

Hi Tim,

I see, thanks for the information. I have been told the opposite...

I noticed that in the request, PureCloud set the NameID policy to transient:
<samlp:NameIDPolicy AllowCreate="true" Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient"/>

The IdP return an "encrypted" NameID, so I am wondering how Purecloud can link the request back to the user.

Can you help us to confirm which field in the SAML response is used to identify the user once authenticated when using Ping Identity as SSO?

Alternatively, do you have an example of SAML response we can use as a reference?

Many thanks and best regards,
Roland

I've asked the auth team to take a look. They have asked for the correlation id from the redirect issued by Ping to PureCloud. Can you provide that please?

Hi Tim,

Below was the SAML request from Purecloud to Ping:

<samlp:AuthnRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
ID="f_An7aqWFFeKENHziGAc3BN3Fr1mYpxSfjQVoNEbhAY"
Version="2.0"
ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
AssertionConsumerServiceURL="https://login.mypurecloud.com.au/saml"
IssueInstant="2018-06-06T03:51:36"
AttributeConsumingServiceIndex="0" >
< saml:Issuer>mypurecloud.com/ping</saml:Issuer>
<samlp:NameIDPolicy AllowCreate="true"
Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient"
/> <samlp:RequestedAuthnContext xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
Comparison="exact"
> <saml:AuthnContextClassRef xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml:AuthnContextClassRef>

The response Ping send back is as below, I have strip out the content, but can send you via private message:

<samlp:Response Version="2.0"
ID="eXCkXSWx6L2xNbD0A6PRHqC6Y1N"
IssueInstant="2018-06-06T03:52:46.932Z"
InResponseTo="f_An7aqWFFeKENHziGAc3BN3Fr1mYpxSfjQVoNEbhAY"
Destination="https://login.mypurecloud.com.au/saml"
xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
>
...
< samlp:Status>
<samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success" />
</samlp:Status>
<saml:Assertion ID="KSECp9qKD_Hx6YyeN0amrgdV9Sh"
IssueInstant="2018-06-06T03:52:47.057Z"
Version="2.0"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
>
< saml:Issuer>REMOVED</saml:Issuer>
< saml:Subject>
<saml:NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient"
NameQualifier="REMOVED"
SPNameQualifier="mypurecloud.com/ping"
>IW9eZ5Gohb5mUW6XlLP9BDDrWCR</saml:NameID>
<saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
<saml:SubjectConfirmationData Recipient="https://login.mypurecloud.com.au/saml"
NotOnOrAfter="2018-06-06T03:57:47.057Z"
InResponseTo="f_An7aqWFFeKENHziGAc3BN3Fr1mYpxSfjQVoNEbhAY"
/>
</saml:SubjectConfirmation>
</saml:Subject>

Thanks and regards,
Roland

Hi Tim,

Did you managed to get more information with the information I provided?

Following further investigation, customer set-up a Ping One test account and managed to complete the integration, and we noticed that in the NameID, PingOne put the email in clear wheres as the field is set to be urn:oasis:names:tc:SAML:2.0:nameid-format:transient.

It looks like that this confuse Ping Federate which seems to put a random value.

Customer would like to know the reason to request a transient value for the NameID and if there is a way to put to request an email instead.

Thanks and regards,
Roland.

Got this from the developer:

Some IDPs always set the subject to their user id, the way to get around that is to add the user's email address as the SAML parameter "email" the same way as they do with the "OrganizationName".

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.