Troubleshooting authentication issues
Generic authentication issues
Issue | Description | Workaround |
---|---|---|
A non-existing domain is mapped to a realm | When a user request is redirected to the BMC Helix SSO login URL, the following message is displayed: Unexpected error happened. Not possible to define a realm. This error happens when the administrator deletes the default realm "*'" and then adds another realm, but does not configure a domain of the new realm. | Add the application host name or FQDN in the realm domain if the realm ID is not "*". |
Unauthorized_client issue during the authentication flow | A user receives the following message during the authentication flow: {"state":"f91a20a1-3409-4fc8-bcaf-a21be1bd668e","error":"unauthorized_client"} The state value is an example and can vary for different cases. | In most cases, the issue is related to the incorrect redirect URI in the /authorize request. The following steps are required:
|
Authentication issues for applications hosted on different domains
Issue | Description | Workaround |
---|---|---|
Unable to issue id_token | After configuring the BMC Helix SSO agent for using the OpenID scope, the BMC Helix SSO server fails to generate id_token in the following scenarios, and an exception is logged in the BMC Helix SSO agent logs:
For more information about the exception, see the BMC Helix SSO agent logs. | After configuring the BMC Helix SSO agent for using the OpenID scope, make sure that you:
|
An OAuth2 client cannot use the OpenID scope | At the time of registering a client as an OAuth2 client, if you do not select the openid (Scope used for OpenID connect) check box, the client cannot use the OpenID scope. The BMC Helix SSO server logs a message mentioning that the specified OAuth2 client is not allowed to use the OpenID scope. | On the Admin Console, edit the OAuth2 client details and select the openid (Scope used for OpenID connect) check box for that client. |
id_token is invalid | The user cannot log in and gets the following error message: An error occurred. Please contact your administrator or retry later. The following exception is logged in the log files: | Synchronize the time on the BMC Helix SSO server and BMC Helix SSO agent machines. |
Cross launch issues for applications integrated with different BMC Helix SSO servers
Issue | Description | Workaround |
---|---|---|
The cross launch link is not displayed.
| The target BMC Helix SSO server is not configured correctly. | On the target BMC Helix SSO server, for the Preauth authentication method, make sure that you enter the name of the originating BMC Helix SSO server in the ALLOW-FROM Domain(s) field. For information about how to configure this field, see Configuring-preauthentication. |
The following error message is displayed in an iframe: Unexpected error happened. Failed to login. Please contact the Administrator. | A wrong certificate is configured for a realm with the Preauth authentication method on the target BMC Helix SSO server. |
|
AR authentication issues
Issue | Description | Workaround |
---|---|---|
AREA plugin error after AR user credentials were submitted | The user completes a BMC Helix SSO login (on the BMC Helix SSO login page for AR authentication or on the IdP login page) and is redirected back to BMC application URL. Then, the application might display an authentication error. The AR AREA plugin log file (ARSystemInstallFolder/Arserver/Db/arjavaplugin.log) might contain the following or similar error logs: 2015-09-13 17:04:21,324 ERROR [pool-4-thread-10] com.bmc.arsys.pluginsvr.plugins.ARPluginContext (?:?) |
|
No groups available for authenticated users | Remedy AR System is integrated with BMC Helix SSO, and authenticated users have no groups after login. | Uncomment the following setting in the ARSystemInstallFolder/Conf/rsso.cfg file: AR-USER-GROUPS-FIX: true |
AR 623 error during authentication | Various issues can cause this error. Use the steps in the workaround to identify and fix any issues that you find. This troubleshooting can be applied only if BMC Helix SSO is integrated with Remedy AR System. For all other cases, see Troubleshooting in the Remedy AR System documentation. |
SAML authentication issues
Issue | Description | Workaround |
---|---|---|
IdP error on SAML request if SAML IdP login URL contains a query parameter | If the IdP login URL contains a query parameter (a question mark [?] is in the URL), an error might appear when the browser is redirected to the IdP login URL. For example, if you are trying to access https://sso.connect.pingidentity.com/sso/idp/SSO.saml2?idpid=XXX, you will not be able to log in. | Not applicable |
SAML IdP returns NameID as an encrypted string | Some IdPs might encrypt the NameID if the length of the NameId column in the IssuesToken table is too short. | If the NameID in a SAML response returned by IdP exceeds 255 characters, increase the size of the NameId column in the IssuesTokens table of the BMC Helix SSO database. For example, if the NameID length is 300 characters, set the NameId column to at least VARCHAR(300). |
SAML authentication fails | The following error is displayed: ***Failed to validate notBefore condition*** | The issue is caused by the absence of a time sync between BMC Helix SSO and the IdP server. In the BMC Helix SSO Admin Console, configure the Assertion Time Skew attribute; see Importing-configuration-from-an-identity-provider-and-configuring-SAML. |
Fail to generate and view SP metadata in BMC Helix SSO | When you generate or view SP metadata in BMC Helix SSO, the following error is displayed: Metadata is incomplete. Following attributes are missed or empty: [SP certificate] | SP certification configuration is missing or incorrect. Follow the steps:
|
Fail to process a SAML message related to relayState | Users cannot log in to BMC applications through SAML with the following error: no relayState found | An incorrect client application URL (relayState) might be provided. These URLs are stored in the BMC Helix SSO database table "RelayState" and should be the same as the requested ones. You can also verify that the browser shortcut to the client application URL is correct. |
Fail to process a SAML message related to a signature | Users cannot log in to BMC applications through SAML with the following error: invalid Signature | An IdP certificate configured in the BMC Helix SSO Admin Console might be invalid or expired. Obtain an updated IdP metadata URL from the SAML team of the organization and import it into the BMC Helix SSO configuration. For more information, see Importing-configuration-from-an-identity-provider-and-configuring-SAML. |
Log in to the BMC application through BMC Helix SSO fails with the configured SAML authentication | Users cannot log in to the BMC application that has been configured to use Azure Active Directory for identity management by using SAML. The following message is displayed: Error - AADSTS75011 Authentication method by which the user authenticated with the service doesn't match requested authentication method AuthnContextClassRef | In the BMC Helix SSO Admin Console, remove the saml:AuthNContextClassRef value from the SAML configuration. For more information, see Troubleshoot sign-on to SAML-based SSO apps in Microsoft. |
LDAP authentication issues
Issue | Description | Workaround |
---|---|---|
LDAP authentication failure | Users are not authenticated. The following records are available in the BMC Helix SSO server logs: javax.naming.CommunicationException: simple bind failed: <LDAP SERVER NAME>:PORT [Root exception is javax.net.ssl.SSLHandshakeException: server certificate change is restricted during renegotiation] | Add the Java properties for the JVM that Tomcat uses. -Djdk.tls.allowUnsafeServerCertChange=true -Dsun.security.ssl.allowUnsafeRenegotiation=true Linux example: Create or edit the TomcatInstallFolder/bin/setenv.sh file. JAVA_OPTS="-Djdk.tls.allowUnsafeServerCertChange=true" JAVA_OPTS="$JAVA_OPTS - D sun.security.ssl.allowUnsafeRenegotiation=true" export JAVA_OPTS Microsoft Windows example:
|
If the LDAP server uses a self-signed certificate, the JVM that Tomcat uses on the BMC Helix SSO server does not trust this certificate. | To use TLS/SSL connection to the LDAP server, import the LDAP server certificates (cacerts) to the truststore (JavaHome \jre\lib\security) of the Apache Tomcat used by the Remedy SSO server. Import the certificates by using third-party utilities such asKeyStore Explorer. | |
The login request is redirected to an empty rsso/start URL | When the BMC Helix SSO server and the integrated application both use self-signed TLS/SSL certificates for the HTTPS connection, the certificate confirmation dialog box breaks the flow, and you cannot log in by using Microsoft Edge and Safari browsers. | Use another browser to log in, or open the application URL again after confirming the exception for the certificate. |
LDAP test connection fails | In the BMC Helix SSO Admin Console, when you configure LDAP and click Test, the following message is displayed: Connection to the LDAP server failed or the host name or port number is incorrect. | The test connection failure can be caused by the incorrect attributes in the LDAP authentication window. First, in the BMC Helix SSO Admin Console, check the following attributes:
If the test connection still fails, use LDAP administration tools such as LDAP Admin for Windows or JXplorer for Linux to identify whether the issue is caused by BMC Helix SSO or your LDAP connection. LDAP Admin example:
4. (Optional) If the LDAP server uses an SSL certificate, the port number changes to 636. In this case, you must select the SSL check box. 5. Clear the Anonymous connection check box. 6. In the Username field, specify a username or an LDAP bind user format name. 7. In the Password field, specify the password for the user. 8. Click Test connection. If the test connection is successful, click Fetch DNs and see a list of DNs on the LDAP server. If the test connection fails with the following messages, contact the LDAP Administrator:
|
Fail enable LDAP over SSL | Users cannot set up an LDAP SSL certificate. | To enable LDAPS:
4. (Windows) In the Java Options field, specify the Java truststore parameters, for example: -Djavax.net.ssl.trustStore=<path to jre cacerts> 5. (Linux) Go to the sh Tomcat startup file and specify the Java truststore parameters, for example: set JAVA_OPTS="-Djavax.net.ssl.trustStore=<path to jre_keystore" "-Djavax.net.ssl.trustStorePassword=changeit" 6. Save the configuration. 7. Restart the Tomcat service. 8. In the BMC Helix SSO Admin Console, test the LDAP connection by using the server port 686 and selecting the Use TLS connection check box. |
Login to BMC Mid Tier, BMC Helix ITSM: Smart IT and BMC Helix Digital Workplace fails. | Users cannot log in to BMC Mid Tier, BMC Helix ITSM: Smart IT and BMC Helix Digital Workplace. | There are multiple factors that can cause this problem. On the BMC Helix SSO side, you can use the two paths:
|
Login to BMC TrueSight Operations Management (BMC TrueSight Presentation Server, BMC TrueSight Capacity Optimization, BMC TrueSight Infrastructure Management, TrueSight Orchestration Platform) fails. | Users cannot log in to BMC TrueSight Operations Management (BMC TrueSight Presentation Server, BMC TrueSight Capacity Optimization, BMC TrueSight Infrastructure Management, TrueSight Orchestration Platform). | If you log in to one of these BMC products and see the error "You are not authorized to use this system", the user does not belong to any group that has correct login permissions. To check it on the BMC Helix SSO side, in the BMC Helix SSO Admin Console, click the Session tab. If the userID is listed, but disappears in 10 seconds. BMC Helix SSO has successfully authenticated the user with LDAP, but BMC TrueSight Operations Management has not given the user a group permission. You must check whether the users and groups belong to the Authorization Profile in BMC TrueSight Presentation Server:
BMC Helix SSO connects to LDAP to fetch the groups from the LDAP server and the local BMC Helix SSO User Management Groups (Roles). After the group has been added to the profile, you must assign roles to this group:
If you log in to BMC TrueSight Operations Management as an LDAP user, BMC Helix SSO authenticates you and then BMC TrueSight Operations Management authorizes you. Any other LDAP users that belong to this group can also log in to BMC TrueSight Operations Management. |
No groups or users are retrieved by TrueSight Presentation Server | You cannot see any groups or users in the TrueSight Presentation Server Console. | In the BMC Helix SSO Admin Console, check that the attributes in the LDAP authentication window are correct and the Enable Group Retrieval check box is selected. The external LDAP attributes are mapped to the BMC Helix SSO fields:
If the issue persists, use the filters in the LDAP administration tool such as LDAP Admin to see how many results you have. If the list is lengthy, narrow down the search to see the groups. |
Multiple entries are returned for a user | The LDAP server returns more than one entry for one user with an error in the BMC Helix SSO logs: 04-03-20 10:23:57.069 [3-exec-249] WARN com.bmc.rsso.data.idps.IdPLDAP.getUserGroups() : LDAP error: 'LDAP server returned more than one entry for user: userxxxx' | It is a LDAP configuration issue. In the BMC Helix SSO Admin Console, in the User Authentication tab for LDAP, compare the default filter parameters against their values and correct any that do not match. The (sAMAccountName=$USER$) parameter must be specified. |
Kerberos authentication issues
You can find the events and log information related to Kerberos in the following files, which are usually located in the log directory for Tomcat:
- rsso.log—The main log file of the BMC Helix SSO server.
- tomcat8-stdout.*.log—A file that contains Kerberos related events from Java Authentication and Authorization Service, which the BMC Helix SSO server uses internally to authenticate users.
Issue | Description | Workaround |
---|---|---|
Invalid keytab index number for Kerberos | An exception is generated in the logs when the keytab file is generated with a key version number (KVNO) different from the one specified in the ticket. The log file might look something like this: amJAAS:10/18/2011 09:35:00:435 AM PDT: Thread[http 8443-1,5,main] Exception: com.sun.identity.authentication.spi.AuthLoginException: Failed to authentication. Failure unspecified at GSS-API level (Mechanism level: Specified version of key is not available (44)) | Regenerate the keytab file. You must specify the /kvno 0 option to ensure that the KVNO value is compatible. |
Browser sends NTLM instead of SPNEGO | The token that the BMC Helix SSO server receives from the client is a Microsoft Windows NT LAN Manager (NTLM) token and not the Kerberos token. If this issue happens, the following entry is recorded in the log file: The entry Authentication token is NTLM but not SPNEGO. | Ensure that the BMC Helix SSO server host name or domain is added to the list of websites for Kerberos authentication. The failure could happen due to the following reasons:
|
Keytab file does not contain an entry to decrypt a service ticket | The keytab file does not contain an entry to decrypt a service ticket. The logs might look something like this: java.security.PrivilegedActionException: GSSException: Failure unspecified at GSS-API level (Mechanism level: Checksum failed) Caused by: GSSException: Failure unspecified at GSS-API level (Mechanism level: Checksum failed) Caused by: KrbException: Checksum failed Caused by: java.security.GeneralSecurityException: Checksum failed | Examine items and make sure that the service principal names (SPNs) are valid. If an SPN password is used in the BMC Helix SSO Admin Console, ensure that the Service Principal Name is specified as HTTP/access.bmc.com@RSSO.COM. To see content of the existing keytab file, run the ktab command. |
The following error appears in the rsso.log file: Cannot find key of appropriate type to decrypt AP REP - AES256 CTS mode with HMAC SHA1-96 (or AP REP - AES128 CTS) | Install JCE Unlimited Strength Jurisdiction Policy Files for JDK/JRE to support AES128 and AES256 encryption types. You can find the policy files at the following links: Also, install these policy files in the JRE that is used by the Tomcat server on which the BMC Helix SSO runs. | |
The login fails because of the large size, and the browser displays an error | The Kerberos service ticket is passed as a header value in the HTTP request. Though the default maximum header size in Tomcat is 4096 bytes (4 KB), the header size may go up to 28 KB under some circumstances. The login fails because of the large size, and the browser displays an error message because Tomcat does not respond to such requests. | Specify the maxHttpHeaderSize attribute on the HTTPS connector, and set a large enough value in bytes. |
To debug Kerberos authentication issues
To ensure that customer's machine has joined the domain and the domain user is used, run the following command:
C:\whoami
DOMAIN\userID- Ensure that you have other internal resources with Kerberos authentication, and you can successfully log in to them and use them.
For this, you must have service tickets in the output of the klist utility. - Ensure that the BMC Helix SSO server is configured to use the same domain that your machine has joined.
- Ensure that you are trying to access the BMC Helix SSO server by using its FQDN (for example, http://access.example.com/rsso/). Also, make sure that the host name used in the FQDN is identical to the host name used in the service principal name (SPN) for a service account created in the key distribution center (KDC). In this case, the SPN will be HTTP/access.example.com.
- Ensure that you have obtained the Kerberos ticket-granting ticket (TGT).
- Ensure that the browser is configured properly, see Configuring-browser-settings-for-Kerberos-authentication.
- Ensure that the KDC domain is defined in uppercase in the BMC Helix SSO Admin Console.
- Ensure that the time difference between the KDC and your machine is no more than 5 minutes.
- Ensure that the Kerberos service ticket obtained on the machine accessing the BMC Helix SSO server looks like HTTP/access.bmc.com@RSSO.COM where access.bmc.com@RSSO.COM is the host name of the machine that hosts the BMC Helix SSO server.