IDs & versions

When a user creates an account or accepts a new version of terms or policies, an identifier for the accepted legal agreement(s) is written to the user record. legalAcceptanceIds written to user record

The identifier should include an appropriate name for the legal text and a version. To serve as examples, the default identifiers (pictured above) are:

  • privacyPolicy-v1
  • termsOfService-v1

These identifier values are set in the Identity Cloud Console. By default they are in Global Settings, and the settings are called:

  • legal_acceptance_id_1
  • legal_acceptance_id_2

The default identifier values can be customized to reflect your actual legal agreements and your naming and versioning conventions:

  1. Navigate to the Identity Cloud Console
  2. Click on your application in the left column navigation
  3. Click to open MANAGE APPLICATION
  4. Click the EDIT SETTINGS button at the top of the Global Settings section
  5. Modify the legal_acceptance_id_1 and legal_acceptance_id_2 settings in the Value column Edit legal acceptance IDs in Console
  6. Click the Save icon (Save button)

Enable the authRule_acceptLegal screen

Hosted Login has the ability to prompt the user to accept again when you formally update your legal text. Re-acceptance screen in Hosted Login

To enable this screen, you must add or update the following setting in the Identity Cloud Console:

  • authorization.rules.legal_accepted

By default, this setting is in Global Settings.

The value of this setting is a JSON-formatted array of legal acceptance identifiers. If any value in the array does NOT exist in the user record, this indicates the user has not yet accepted the current terms, and they will be prompted to do so the next time they log in.

The default value for this setting is:

  • ["privacyPolicy-v1","termsOfService-v1"]

The values in this array should always match the legal_acceptance_id_1 and legal_acceptance_id_2 setting values.

When you make a meaningful change to your legal terms such that end users should be prompted to accept the updated version, here’s what you should do:

  1. Update the legal_acceptance_id_1 and/or legal_acceptance_id_2 setting(s) to indicate the new version of legal terms
  2. Update the authorization.rules.legal_accepted array to match the updated legal_acceptance_id_1 and/or legal_acceptance_id_2 setting(s)

Example where the privacy policy has been updated and requires new acceptance:

Setting Name Previous Value New Value
legal_acceptance_id_1 privacyPolicy-v1 privacyPolicy-v2
legal_acceptance_id_2 termsOfService-v1 termsOfService-v1
authorization.rules.legal_accepted ["privacyPolicy-v1","termsOfService-v1"] ["privacyPolicy-v2","termsOfService-v1"]

Manage acceptances globally or per property

By default, the legal acceptance settings reside in Global Settings in the Identity Cloud Console. This means they apply to all clients in the application.

If you have multiple digital properties (websites, mobile apps), this means that when a user accepts the legal terms from one digital property, this satisfies their acceptance across all digital properties associated with the same Console application.

If you have multiple digital properties and you would prefer for users to accept legal terms for each property separately, you can do this by adding the same settings to each pertinent Property (client) in Console:

  1. Navigate to the Identity Cloud Console
  2. Click on your application in the left column navigation
  3. Navigate to MANAGE PROPERTIES
  4. Find your login client in the list of properties; Click the Actions menu ( ) and select Edit View/Edit property in Console
  5. Click the EDIT SETTINGS button at the bottom of the Settings section
  6. Modify the legal_acceptance_id_1, legal_acceptance_id_2, and authorization.rules.legal_accepted settings in the Property Value column
  7. Click the Save icon (Save button)

Example: Edit property settings in Console

Global values provide a default that will be used when there is no Property value. If a Property value is present, it will be used instead of the Global value.

If a user accepts property-specific terms and policies from two digital properties, all accepted agreements will be written to the legalAcceptances plural in the user record. legalAcceptances per property in the user record