Multi-SSO (SAML 2.0) errors and fixes
Summarize
Summary of Multi-SSO (SAML 2.0) errors and fixes
This guide provides ServiceNow customers with a comprehensive list of common errors encountered during Multi-SSO (SAML 2.0) setup and login processes, along with practical diagnoses and fixes. Understanding these errors helps ensure a smooth and secure SAML 2.0 integration between ServiceNow and Identity Providers (IdPs).
Show less
Common Setup Errors and Fixes
- Expired or Missing Certificates: Ensure the IdP’s x509 certificate is present, valid, active, and correctly uploaded in PEM format. Keep the ServiceNow certificate record updated and synchronize instance clocks with the IdP server.
- Certificate Mismatch: Confirm the PEM-formatted string in ServiceNow matches the IdP’s X509 certificate in the SAML assertion to prevent signature validation failures.
- Signature Validation Issues: Verify the IdP signs assertions with the certificate matching ServiceNow’s configuration.
- InResponseTo Mismatch: Occurs when the SAMLResponse does not match the SAMLRequest or users bookmark URLs containing SAMLRequest parameters. This may also indicate load balancer or node routing problems.
- Missing SessionIndex: The IdP must include a valid SessionIndex in the SAML response for successful authentication.
- SubjectConfirmation Failures: Check for missing or expired conditions in the SAMLResponse, and confirm the StatusCode indicates success.
- Audience URI Mismatch: The ServiceNow instance’s Audience URI must exactly match the
saml2:Audiencevalue in the SAMLResponse. - Issuer Mismatch: Ensure the IdP entity ID (issuer) matches the configured Identity Provider URL in ServiceNow.
- Clock Skew Issues: Adjust the
glide.authenticate.sso.saml2.clockskewproperty to allow for clock differences between IdP and ServiceNow (default 180 seconds, may need to increase to 300+ seconds).
Common Login and IdP Errors
- Infinite Login Loop with High Security Enabled: Typically caused by missing the IdP host in the
glide.security.url.whitelistproperty, causing redirects to error or logout pages. Add the IdP hostname to the whitelist and configureglide.authenticate.failedredirectto handle failed logins gracefully. - Unexpected Signature Algorithm: If the IdP uses SHA-256 but ServiceNow expects SHA-1, verify and adjust the signature algorithm settings in the IdP’s Relying Party Trust configuration.
- Status Code "Requester" Errors: These indicate the IdP rejected the login request due to a problem with the request sent by ServiceNow. Work closely with the IdP administrator to review and correct SAML request configurations.
Practical Benefits for ServiceNow Customers
By following these diagnostics and fixes, customers can:
- Ensure reliable and secure Multi-SSO (SAML 2.0) authentication integration.
- Minimize downtime and login failures caused by common misconfigurations.
- Maintain synchronization between ServiceNow and IdP configurations, especially certificates and time settings.
- Effectively troubleshoot and resolve errors by understanding error messages and log details.
A list of common errors and associated fixes for a Multi-SSO (SAML 2.0) setup and configuration.
| Error in instance logs | Test Connection Message | SAML property | Diagnosis | Fix |
|---|---|---|---|---|
| NotAfter: <Thu Jun 05 22:57:44 PDT 2014>. | Ensure that the IDP x509 certificate is present, valid, and active. | N/A | The current certificate or the SAML assertion has expired. |
|
|
Ensure that the IDP x509 certificate is present, valid, and active | The PEM-formatted string should be entered into the PEM Certificate field. | The SAML certificate does not exist. It might be inactive. | Ensure that the correct PEM-formatted certificate is uploaded to the instance. |
| Certificates do not match. Expect: <certStr>, actual: <inboundCert>. | Ensure that the IDP x509 certificate is present, valid, and active. | N/A | The available certificate in SNC does not match the certificate in assertion.
Causes include:
|
Confirm that the PEM-formatted string in the SAML 2.0 certificate record matches the X509 Certificate in the SAMLResponse for the user IdP. |
| Failure to check the validity of the certificate. | Ensure that the IDP x509 certificate is present, valid, and active | N/A | The current certificate might have expired. | Update the SAML 2.0 certificate record. |
| Failure to validate signature profile. | Ensure that the IDP x509 certificate is present, valid, and active. | N/A | The assertion might be signed with a different certificate. | Check if the IdP has the same certificate as the SNC instance. |
| InResponseTo attribute in SubjectConfirmationData mismatch. Expect: <inResponseTo>, actual: <inResponseTo>. | Subject confirmation validation failed. | N/A | This error appears if either of the following situations occurs:
|
The IdP admin should confirm that the expected SAMLReponse is being returned. This situation can be a load balancer or infrastructure issue. |
| SessionIndex value not found: <message>... | SessionIndex not valid. | N/A | The SessionIndex is required in the SNC instance. The IdP returns it in the SAML response to authenticate successfully. | The IdP admin should confirm that the SessionIndex is defined in the SAMLResponse. |
| No valid SubjectConfirmation found. | Subject confirmation validation failed. | N/A | Conditions could be missing due to an error on the IdP. The StatusCode in the response would contain Responder instead of the expected Success. |
Review SAMLResponse to determine if Conditions are included in the SAMLResponse. The valid subject confirmation data could be expired or not for the right audience. |
Assertion audience mismatch. Expect: <propAudience>, actual: <audienceUri>. or AudienceRestriction validation failed. No matching audience found. |
Ensure that the 'Audience URI' field is set correctly | The audience URI that accepts the SAML2 token. (Normally, it is your instance URI. For example: https://demo.service-now.com.) | The SNC instance configured audience URI must match the value in the IdP. | Locate <saml2:Audience> in the SAMLResponse in the logs and verify that the value matches the one on the instance. |
| Assertion issuer is invalid. Expect: <value on instance>, actual: <value returned by IdP> | Assertion issuer is invalid. | The Identity Provider URL that issues the SAML2 security token with user info. | The IdP entity id (issuer) does not match the value defined in the SNC instance. |
|
Subject is valid in the future. Now: <now>, NotBefore: <notBefore> or Subject is expired. Now: <now>, NotOnOrAfter: <notOnOrAfter> |
Subject validation confirmation failed. | The number in seconds before notBefore constraint, or after notOnOrAfter constraint, to consider still valid. | The IdP clock is not synced with SP clock. | Update the SAML property glide.authenticate.sso.saml2.clockskew to a larger value. The default is 180 seconds. Some cases require a setting of 300 or higher. You may also need to check the time on your IdP server. |
Assertion is valid in the future, now: <now>, notBefore: <notBefore> or Assertion is expired, now: <now>, notOnOrAfter: <notOnOrAfter> |
Assertion is invalid. | The number in seconds before notBefore constraint, or after notOnOrAfter constraint, to consider still valid. | IdP clock is not synced with SP clock | Update the SAML property to a larger value. Default of 60 seconds. Some cases require a setting of 300 or higher. You may also need to check the time on your IdP server. |
| Error or Symptom | Diagnosis | Fix |
|---|---|---|
| Login requests generate an infinite loop between the system and the IdP when High Security is active. |
|
Set (or create) the system property glide.authenticate.failed_redirect to redirect failed authentication requests to this URL. |
| The token used to authenticate the user or the request is signed with the signature algorithm http://www.w3.org/2001/04/xmldsig-more#rsa-sha256 which is not the expected signature algorithm http://www.w3.org/2000/09/xmldsig#rsa-sha1. | Check the Alert Context tab for event details. | Navigate to the Advanced tab of the Relying Party Trust configuration dialog and verify that the algorithm is set to SHA-1 and not SHA-256. |
The error message urn:oasis:names:tc:SAML:2.0:status:Requester
appears in your system log (syslog) table. |
When your IdP (e.g. ADFS) responds with a status of
oasis:names:tc:SAML:2.0:status:Requester, it means the IdP rejected
the login because of an issue with the request sent to it. Unfortunately, the SAML
response received from the IdP in most cases does not provide further details for the
error. |
Review the SAML request sent to the IDP, and work with your IDP administrator to update your instance SAML settings to avoid the error. You may need to contact your IDP provider understand the reason for the login failure. |