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

# Add generic OIDC Identity Provider

Before you begin, you need to obtain the following from your Identity Provider:

- Client ID
- Client Secret
- Issuer URL

Additionally, you need the following values. You may be able to fetch these values from the Identity Provider once you have entered the Issuer URL:

- Authorization Endpoint
- Token Endpoint
- User Info Endpoint
- Revocation Endpoint
- JWKS URI

### Integrate a generic OIDC Identity Provider

1. Click Menu icon **>** **Security > Identity Providers**. The **Identity Providers List** page appears.

2. Click **Add** and then select **Generic (OIDC)** from the drop-down list. The **Add Identity Provider** page appears.

3. Configure the **Identity Provider Settings**, as follows:

   1. Enter a **Name** for your Identity Provider.
   2. Enter the **Client ID** of the Identity Provider.
   3. Enter the **Client Secret**. The client secret must match the client secret of the Identity Provider.
   4. Select the **Client Authentication Method** from the drop-down list.
   5. Enter the **Issuer URL** of the Identity Provider.

4. Click **Fetch Configuration** to obtain the fields for the **OIDC Endpoints**.

note
If the Identity Provider uses **User Info Endpoint**, then select **Require User Info Signature** to require signature verification for responses to requests for user information. If this is enabled, then User Info responses must be signed.

5. Copy and paste into a text file the **Redirect URI**. You need to enter this value into your Identity Provider.

6. Enter the **Requested Information from the Identity Provider**.

   1. Enter the **Scopes**. OIDC sends scopes to the Identity Provider to retrieve information.

      Associated with each scope are claims. The Identity Provider returns multiple claims based on the requested scopes. The `openid` scope is mandatory to do authentication or verification.

   2. Enter the **ID Tokens** **Claims**. Separate each value with a space. Leave this setting blank to omit the feature.

      ID token claim requests sent to the Identity Provider specify which claims to include in the returned `id token`. You can use this in addition to requested scopes.

   3. Enter the **User Information Claims**. Separate each value with a space. Leave this setting blank to omit the feature.

   User information claim requests sent to the Identity Provider specify additional claims to include in the returned `userinfo` response. Use this in addition to requested scopes.

7. Enter the **Max Authentication Age** to set the allowed elapsed time, in seconds, since the last time a user was actively authenticated at the Identity Provider.

   For example, if you set a value of 300 seconds, if a user authenticated with the Identity Provider more than 300 seconds ago, they must re-authenticate. Leave this setting blank to omit this feature.

8. Enter the **Auth Context Request Values** that are used by your Identity Provider. Separate each value with a space. Leave this setting blank to omit this feature.

9. Enter the **Auth Method Request values** that are used by your Identity Provider. Separate each value with a space. Leave this setting blank to omit this feature.

10. Configure **Branding** as follows:

    1. Enter the **Login Button Text**. This is the text that appears on the IDaaS log in page.
    2. If your Identity Provider has a login button image, enter the URL in the **Login Button Image** field. The login button appears on the IDaaS log in page.

11. Configure **User Management**.

    1. Select **Create User** to create the user whose information is returned from the Identity Provider if it does not already exist.

    attention
    **Create user** allows anyone with access to your chosen Identity Provider to create a user in your IDaaS account. Depending on your IDaaS configuration, new users created by your IDP will be able to access all the resources controlled by your IDaaS account. This may be a concern if your Identity Provider has no limits on who can create an account or if it has a large userbase. Analyze the risks before enabling this option.

    2. Select **Update User** **(Authentication)** to update the IDaaS user to match the Identity Provider during authentication.

       If you select **Update User (Authentication)**, the IDaaS system user attributes and any existing IDaaS custom user attributes can be set based on claim mappings. After user authentication, if the user exists in IDaaS, IDaaS compares the attributes of the existing user to the claims returned from the Microsoft Azure AD. If they are different, the IDaaS user attributes are updated with the claim values.

    3. The following system attributes are mandatory in IDaaS by default:

       - Email: `email`
       - First name: `given_name`
       - Last name: `family_name`

    4. If they do not exist in your Identity Provider account, you must add them to your user profiles or make them optional in IDaaS. See your Identity Provider documentation for information on how to add a new user or update an existing user profile.

    5. Optional. Select **Update User** **(Verification)** to update the IDaaS user to match the Identity Provider during Identity Provider verification (if verification is used by the Identity Provider).

       If you select **Update User (Verification)**, the IDaaS system user attributes and any existing IDaaS custom user attributes can be set based on claim mappings. After user verification, the IDaaS user attributes are updated with the claim values.

12. Configure **Groups, Organizations, and role mapping**.

    1. Select applicable groups from the **Select Group** drop-down list to assign created users to groups.

    2. Select applicable organizations from the **Select Organization** drop-down list to assign created users to organizations.

    3. In the **Group Mapping** field, enter the claim containing the group membership for users.

       Only existing groups are mapped. If a group is not found, it is not mapped. The mapping does not remove any existing groups. If group mapping is not configured, existing groups remain.

    attention
    **Group Mapping** allows anyone with access to this Identity Provider to have their IDaaS groups include the groups defined by the Identity Provider. Groups set the policies applied to users. Enabling this setting could result in users having access to unexpected policies, especially if the Identity Provider has different user access policies than IDaaS. Analyze the risks before configuring this option.

    4. In the **Role Mapping** field, enter the claim containing the role membership for users.

       Only existing roles are mapped. If the role is not found, it is not mapped. The mapping does not remove an existing role. If a role is mapped and is different from the existing role, the existing role is replaced. If role mapping is not configured and if there is an existing role exist, the existing role remains.

    attention
    **Role Mapping** allows anyone with access to this Identity Provider to have their IDaaS account role defined by the Identity Provider, including the super administrator role that has access to all the resources controlled by your IDaaS account. Enabling this setting could result in unexpected access, especially if your Identity Provider has different user access policies than IDaaS. Analyze the risks before configuring this option.

    note
    If any system attributes are mandatory, a claim value must be mapped if users are being created. If is a claim value is not mapped, then user creation fails. In addition, claim values must be valid (for example, the Email attribute requires a valid email address). Before mapping claims to attributes, ensure that the claim value exists with your Identity Provider, this includes mandatory custom user attributes.

13. Configure **User Authentication** as follows:

    1. Select **Enabled for User Authentication**.

       During authentication, the Identity Provider returns a claim value that is used to find the IDaaS user based on a user attribute. The attribute mappings in the claim must uniquely identify the IDaaS user for mapping to be successful. If mapped successfully, the Identity Provider can be used as an alternative authentication method.

14. In the **Domains** field, enter the domains returned from the OIDC Identity Provider after authentication. When set, any user ID ending with the domain (for example, `user@mycompany.com`), or one of the domains is linked to the Identity Provider. Separate each domain with a space.

15. From the drop-down list, select the **User Attribute used to identity the user** to map a claim returned from the Identity Provider to the IDaaS user (for example, `User ID/Alias`).

16. Enter the **Claim used to identify the user**, (for example, `email`).

example
If you set `User ID/Alias` as the user attribute, and you set email as the claim to use, the email address is then used to locate the user in IDaaS using the user's User `ID/Alias` value.

17. Optional. Configure **System User Matching** and **Custom** **User Match Mapping**.

    - Every configured attribute must match the corresponding Identity Provider claim value and the IDaaS user attribute, which must both exist and match.
    - User matching is case-insensitive.

18. Optional (if user verification is used with the Identity Provider). Under **User Verification**, do the following:

    1. Select **Enable for User Verification** if you want the Identity Provider to be used for verification (for example, allowing an Open ID Connect Identity Provider to validate a user's photo or private identification information).

    2. Configure at least one **User Match Mapping**.

       - Users must already exist in IDaaS.
       - Every configured attribute must match both IDaaS and the Identity Provider.
       - User match attributes are case insensitive.

    note
    See [Manage user policies](/docs/people-and-access/manage-user-policies.md) for more information on the verification process.

19. Click **Save**.
