> For AI agents: [llms.txt](https://docs.trustedauth.com/llms.txt) provides a Markdown index of this documentation.

# ForgeRock

You can configure ForgeRock to use IDaaS for multi-factor authentication.

tip

When performing this integration, you copy and paste content from one application to the other. Open ForgeRock in one browser window and IDaaS in another to make copying and pasting easier.

## Integrate ForgeRock OIDC with IDaaS

To integrate ForgeRock OIDC with IDaaS, complete the following steps:

- [Step 1: Obtain the Redirect URL from ForgeRock Access Management](#step-1-obtain-the-redirect-url-from-forgerock-access-management)
- [Step 2: Add ForgeRock OIDC to IDaaS](#step-2-add-forgerock-oidc-to-idaas)
- [Step 3: Configure claims](#step-3-configure-claims)
- [Step 4: Configure customizations](#step-4-configure-customizations)
- [Step 5: Add a resource rule](#step-5-add-a-resource-rule)
- [Step 6: Optional. Add a resource server](#step-6-optional-add-a-resource-server)
- [Step 7: Add IDaaS to ForgeRock OIDC](#step-7-add-idaas-to-forgerock-oidc)
- [Step 8: Test the integration](#step-8-test-the-integration)

### Step 1: Obtain the Redirect URL from ForgeRock Access Management

1. Log in to ForgeRock Access Manager.

2. Click **Top Level Realm**. The **Realm Overview** page appears.

3. In the navigation pane, click **Authentication > Trees**. The **Trees** page appears.

4. Click **Create Tree**.

5. Enter a **Tree Name** and click **Create**. A blank tree appears that you can customize.

   ![ForgeRock Create Tree](/assets/images/forgerock-create-tree-82e3f43b7a371f4a97f0f7e3350afd28.png)

6. Under **Components**, click and drag the following nodes to the tree:

   - **Success**
   - **OpenID Connect**
   - **Provision Dynamic Account**

info
Depending on where you store your users, you might use **Provision IDM Account** instead of Provision Dynamic Account.

7. Remove the **Failure** node by selecting it and then clicking Trash icon.

8. Wire the nodes as shown in this diagram. To wire them, click the red dot and drag to connect it to the connecting dot. The red dots change to green when they are connected.

   ![ForgeRock Wired Tree](/assets/images/forgerock-wired-tree-7fe135516e1b77c30a537968209939de.png)

9. Click the **OpenID Connect** node to open the **OpenID Connect** dialog box.

   ![ForgeRock OpenID Connect Dialog Box](/assets/images/forgerock-openid-connect-dialog-box-328dd2e10cbb7e3996106bf935e0f1c1.png)

10. Scroll down to **Redirect URL** and copy the value. You need to paste this URL into IDaaS.

11. Leave **OpenID Connect** dialog box open as you will need to copy values from IDaaS into this dialog box.

### Step 2: Add ForgeRock OIDC to IDaaS

1. Log in to IDaaS.

2. Click Menu icon **>** **Security > Applications**. The **Applications List** page appears.

3. Click **Add**. The **Select an Application Template** page appears.

4. Do one of the following:

   - Click **OIDC** and select **ForgeRock OIDC** from the list of **OpenID Connect and OAuth Cloud Applications**.
   - In the **Search bar**, enter a search option to filter for the application you want to add to IDaaS.

5. Click **ForgeRock OIDC**. The **Add ForgeRock OIDC** page appears.

6. If required, modify the following **App Settings**:

   - **Application Name**
   - **Application Description**

7. Configure the **OIDC Settings**.

   1. Click Copy icon to copy the **Client ID** that is generated when you create the application on IDaaS. You cannot modify the Client ID. You can then paste the **Client ID** value into the required field of your client ForgeRock OIDC application account settings.

   2. Select **Client Secret Basic** from the **Client Authentication Method** drop-down list. When using the token, PAR, or revocation endpoints, clients use this authentication method to authenticate to the Authorization Server.

   3. Do one of the following:

      - Copy (or update and copy) the **Client Secret** value. You can then paste the **Client Secret** value into the required field of your client OIDC application account settings.

      - Optional. Set and copy the **Client Secret (Alternative)** value as an alternative option to support client secret rollover. You can then paste the **Client Secret (Alternative)** value into the required field of your client OIDC application account settings.

      note
      You can define your own Client Secret values. However, Entrust recommends that you use the strong secret value provided. You can also optionally view or regenerate a new client secret.

   4. Set the **Reauthentication Time (Max Authentication Age)** to the maximum amount of time that can elapse before a user must reauthenticate to log in. This feature is disabled if the field is left blank.

   5. Select the **OIDC Signing Certificate** used to connect to ForgeRock.

   6. From the **ID Token Signing Algorithm** drop-down list, select **RS256** as the signing algorithm used to sign with ID Token during authentication.

   7. From the **UserInfo Signing Algorithm** drop-down list, select **RS256**.

   8. From the **Access Token Signing Algorithm** drop-down list, select **RS256**.

   9. Click **Add** next to **Login Redirect URIs**.

   10. In the **Add Login Redirect URI** field, enter the Redirect URI that you copied in _Step 1: Obtain the Redirect URL from ForgeRock Access Management_.

   11. Optional: Enter the **Initiate** **Login URI** to allow users to access the application from IDaaS.

       The Login URI is the location from which authentication to the ForgeRock OIDC application through IDaaS can be initiated.

   12. Click **Add** to add a **Login** **Redirect URI**.

       The URI is the location a user is redirected to after being provided or denied access to the ForgeRock OIDC. The value can be a URL, and you can add more than one value.

   note
   The login redirect URI hostname is added as a valid CORS origin for OIDC processing.

   13. Under **Supported Grant Types**, select **Authorization Code**. The Grant Type tells IDaaS what flow to use for returning authorization responses.

   14. From the **Authorization Code PKCE Code Challenge Method** drop-down list, select **S256** as the method used with PKCE during authentication.

   15. Do not modify the current setting for the **Subject ID Attribute** that is included in the ID token and access token to identify the user being authenticated.

   16. Select **Require Consent** to require that users respond to a consent prompt for each request.

   17. Optional. Enter a **Custom Consent Message** to include a message to users when consent is requested.

   18. From the **ID Token Signing Algorithm drop-down list**, select **RS256** as the signing algorithm used to sign with ID Token during authentication.

   19. The authorization request uses **Supported Scopes** to establish a connection between IDaaS and the ForgeRock OIDC application. Supported Scopes are selected by default. If you disable **Your unique identifier**, the ForgeRock OIDC application strictly uses an access token to access a resource server API on behalf of a user.

   note
   Click the arrow next to each scope to see the list of **Implied Claims** included in the scope. The list of **Implied Claims** is defined by OpenID Connect and cannot be modified. Every Implied Claim included in the scopes you select under **Supported Scopes** should have an associated IDaaS user attribute so that the attribute is returned as part of the OIDC tokens sent back to the client. For example, if you select Address as a Supported Scope, then you must define an IDaaS user attribute for each **Implied Claim** associated with Address. See [Create and manage user attributes](/docs/people-and-access/manage-members/create-and-manage-user-attributes.md).

8. Configure the **Advanced Settings**.

   1. Select **Enable Organizations and Domain-Based Identity Providers** to allow organization information to be returned in OIDC claim values when users log in. When enabled, if users are associated with more than one organization and an organization has not been requested, users can select their organizations after they authenticate to their application.

   note
   When organizations are enabled, the corresponding OIDC claims must also be configured.

   2. Enter the **Default Resource/Audience Request Value** to include this value as the resource or audience parameter for every authorization request.

   3. Select **Include authentication time** **with all ID tokens** to include the authentication time with all tokens.

   4. From the **ID Token Signing Algorithm** drop-down list, select the signing algorithm that is used to sign the ID tokens during authentication.

   5. Set the **ID Token Timeout** to the time (in minutes) that the ID token is valid before it expires.

   6. From the **Userinfo Signing Algorithm** drop-down list, select the signing algorithm used to sign the user info data during authentication.

   7. Set the **Userinfo Access Token Timeout** to the time (in minutes) that the access token is valid before it expires.

9. Click **Save**.

10. Proceed to _Step 3: Configure claims._

### Step 3: Configure claims

1. Click the **Claims** tab. The **Claims** page appears.

2. If required, add additional **Supported Claims** to map OIDC claims to IDaaS user attributes.

   The supported claims define the claims that are requested by the client during an authorization request. A claim is an IDaaS user attribute, for example, `first name`. The user attribute must be included if that claim is requested by the client during an authorization request. The required claims depend on the OIDC application that you are configuring on IDaaS.

   You can group claims, for example, the default claim, name, includes the user attribute `First Name`, a text-based value of a space and the user attribute value of `Last Name` so that the claim returned to the client is First Name `<space>` Last Name, for example `Alice Gray`.

3. To add a claim:

   1. Ensure that you have already created the required User Attributes in IDaaS (see [Create and manage user attributes](/docs/people-and-access/manage-members/create-and-manage-user-attributes.md)).

   2. Click Circle Plus icon. The **Add Claim** dialog box appears.

   3. In the **Claim Name** field, do one of the following:

      1. Select the **Claim Name** from the drop-down list.
      2. Type a **Claim Name** to create a new custom claim.

   4. In the **Enter the Claim value expected by the Service Provider** field, enter the following, as required:

      - **User Attribute Value** An IDaaS user attribute (see [Create and manage user attributes](/docs/people-and-access/manage-members/create-and-manage-user-attributes.md)).
      - **Text Based Value.** A text based value. For example, to add a space between two claims or add text information.
      - **Related Value** Include user group or authenticator attributes. See [Configure OIDC claim to include user authenticators or groups](/docs/applications-and-sso/manage-applications/integrate-oidc-and-oauth-cloud-applications/configure-an-oidc-and-oauth-claim.md).

      > Example: `some text <first Name> <Last Name> [Groups]`

   5. Select **Always Return with User Info** to always return the user information with the claim.

   6. Select **Always Return with ID Token** to always return the ID Token with the claim.

   7. Click **Add**.

info
If required, click Pencil icon next to the claim and make the required changes. Click Trash icon to delete a claim.

4. Click **Save**.

5. Proceed to _Step 4: Configure customizations_.

### Step 4: Configure customizations

1. Click the **Customization** tab. The **Customization** page appears.
2. Deselect **Enable Go Back Button** if you do not want users to be able to go back to the application login page to log in.
3. Optional: Select **Respond Immediately for Unsuccessful Responses** to return to the application immediately after a login failure, rather than allow the user to try again with a different user ID.
4. Optional: Deselect **Show Login Redirect URL in My Profile** to hide the application from a user's profile.
5. Optional. Add a custom application logo, as follows:
   1. Click Circle Plus icon next to **Application Logo**. The Upload Logo dialog box appears.
   2. Click Arrow Up From Line icon to select an image file to upload.
   3. Browse to select your file and click **Open**. The **Upload Logo** **dialog box** displays your selected image.
   4. If required, resize your image.
   5. Click **OK**.
6. Select the **Login Options** that appear to users during login. You must select at least one. For details on each login option and requirements, see [Manage login options](/docs/applications-and-sso/manage-applications/manage-login-options.md).
7. Click **Save**.
8. Proceed to _Step 5: Add a resource rule._

### Step 5: Add a resource rule

See [Create resource rules](/docs/authentication-and-security/create-and-manage-resource-rules.md).

### Step 6: Optional. Add a resource server

1. Click the **Resource Servers** tab.
2. Click **Add Resource Server**.
3. Follow the instructions in [Add an API/URL resource server](/docs/applications-and-sso/manage-applications/integrate-oidc-and-oauth-cloud-applications/manage-resource-servers/add-an-api-url-resource-server.md).

### Step 7: Add IDaaS to ForgeRock OIDC

1. In **ForgeRock**, open the **OIDC Connect** dialog box.

2. In the **OIDC Connect** dialog box enter the Client ID and Client Secret as follows:

   1. In **IDaaS**, click Menu icon **>** **Resources > Applications**. The **Applications List** page appears.
   2. Click **ForgeRock OIDC**. The **Edit ForgeRock OIDC** page appears.
   3. Click **Next** to go to the ForgeRock OIDC **General Settings** in IDaaS. Keep this page open.

3. Go to **ForgeRock** and in the **ForgeRock OIDC Connect** dialog box, paste the following from **IDaaS**:

   1. In the **Client ID** field, paste the IDaaS client ID.
   2. In the **Client Secret** field, paste the IDaaS client secret.

4. Return to the **Edit ForgeRock OIDC** page in **IDaaS** and click **Cancel** to close the page. You are returned to the **Applications List** page.

5. In the IDaaS **Applications List** page, under **ForgeRock OIDC** application, click **OIDC Configuration**. The **OIDC Configuration** page appears.

6. Leave the **OIDC Configuration** page open as you need to copy information from this page to **ForgeRock OIDC Connect** dialog box.

7. Paste the following from the **IDaaS OIDC Configuration** into the **ForgeRock OpenID Connect** dialog box:

   1. In the **Authentication Endpoint URL**, enter the **Authorization Endpoint** from IDaaS.
   2. In the **Access Token Endpoint** field, enter the **Token Endpoint** from IDaaS.
   3. In the **User Profile Service URL**, enter the **Userinfo Endpoint** from IDaaS.

8. Leave the **IDaaS OIDC Configuration** page open as you will need to return to it later in this procedure.

9. In the **ForgeRock** **OIDC Connect** dialog box, do the following:

   1. In the **OAuth Scope** field, change the scope to match the IDaaS configuration, for example, **openid**, **profile**, or **email**. If you want to use more than one, enter each one in the field separated by a space. For example: openid profile email
   2. Enter a name for the **Social Provider**, for example, IDaaS.

10. Update the **ForgeRock** mappers as follows (delete any existing values and replace them with the new values):

note
This configuration is valid for an out of the box ForgeRock AM backed by a local embedded directory. Your mappings may require changes depending on your setup.

    1. In the **Account Mapper** field, enter:
       > `org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|*|IDaaS-`

    2. In the **Attribute Mapper** field, click **x** to delete the existing entry, then enter the new Attribute Mapper value and press **Enter**.
       > `org.forgerock.openam.authentication.modules.common.mapping.JsonAttributeMapper|uid|IDaaS-`

    3. In the **Account Mapper Configuration**, delete the existing **sub** key (if one exists) and then click **Add**.

    4. Add the following key and value.

       - sub = uid

    5. Click **+** after entering the key and value.

    6. In the **Attribute Mapper Configuration**, delete the existing **sub** key (if one exists) click **Add** and the following keys and values.

       You must click **+** after entering each key and value pair to add it to the Attribute Mapper configuration.

       - sub = uid
       - name = cn
       - given_name = givenName
       - family_name = sn
       - email = mail

11. Return to the **IDaaS OIDC Connection** page.

12. Paste the following from the **IDaaS OIDC Configuration** into the ForgeRock **OpenID Connect** dialog box:

13. In the **Token Issuer** field, enter the **Issuer** from IDaaS.

14. In the **OpenID Connect Validation Value** field, enter the **Openid Configuration** from IDaaS.

15. Click **OK** to close the **IDaaS OIDC Configuration** page.

16. Click **Save** to save the IDaaS mapping tree in ForgeRock.

### Step 8: Test the integration

1. Log out of both IDaaS and ForgeRock.
2. Open your ForgeRock OIDC instance using the new authentication tree, for example:

> `https://forgerockserver>.com:8443/openam/?service=IDaaS` (where `service=<tree name>`)

3. You are redirected to IDaaS for authentication.
4. Upon successful authentication, you are logged in to ForgeRock.
