Configuring device single sign-on (SSO)

Enable device single sign-on (SSO) to share the state of a security check among multiple applications on the same device.

About this task

You can enable device single sign-on (SSO) for any custom security check to share the state of this check with other application instances that are running on the same device. For example, you can use device SSO to implement an authentication flow whereby successful user log in from one application is applicable also to other applications on the same device.

Device SSO is configured in the application-descriptor JSON file by using the predefined enableSSO security-check configuration property.

Note:
  • While device SSO can technically be enabled for any custom security check, ensure that enabling this feature matches the logic of the target security check. Namely, avoid enabling device SSO for security checks that are inherently specific to your application, such as application-authenticity validation.
  • Configuration of the device SSO property is done only at the application level. You do not define or configure the enableSSO property as part of the implementation of a custom security check.
  • Using device SSO might have performance implications.
  • The remember-me feature of the UserAuthenticationSecurityCheck base class cannot be used together with a device-SSO configuration.

Procedure

Enable device SSO for a specific security check by using one of the following alternative methods:

Results

After you successfully enable device SSO for your selected security check, you can see in the Security-Check Configurations table on the application Security console page, that the value of the Enable Device SSO property for your configured security check is true. In addition, you can see the device-SSO property definition in the application descriptor: in the console, go to the application Configuration Files tab. In the Application-Descriptor JSON File section, you can see a copy of the application-descriptor JSON file. Search for the name of the configured security check within the securityCheckConfigurations object. The nested security-check object should contain an "enableSSO": true entry. In the following template, replace SecurityCheckName with the name of the security check that you configured:
"securityCheckConfigurations": {
    "SecurityCheckName": {
        [...]
        "enableSSO": true
    }
}

To test device SSO, enable this feature for the same security check from multiple applications. Then attempt to access resources that are protected by this security check from multiple applications on the same device. You should be required to pass the security check only once, for the first resource request. For example, for a user-login scenario, after you successfully log in from one application, the log in from the second application on the same device should succeed automatically, without any user input.