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

# Facebook

Using the provided template, you can integrate your Identity Provider to use the information from your users' Facebook account to log in to your protected applications. Once integrated, users can use IDaaS or their Facebook credentials to log in to your application.

info

Attention: Before you begin, you must have a Facebook account and an app configured for Facebook authentication. See <https://developers.facebook.com/docs/development/create-an-app>. Additionally, for users to use Facebook for authentication, they must already exist as users in IDaaS.

## Step 1: Obtain the App ID and App secret from Facebook

1. Log in to your Facebook account.
2. In the browser bar, enter <https://developers.facebook.com/apps/>.
3. Click **My Apps**. The **Apps** page appears.
4. Click the app you want to integrate with IDaaS. The **App Dashboard** page appears.
5. Click **Settings > Basic**. The App details appear with the **App ID** and **App secret**.
6. In the **App Domains** field, enter your IDaaS domain. For example: <my_tenant>.us.trustedauth.com.
7. Leave this page open. You need it for _Step 2: Add Facebook as an Identity Provider in IDaaS._

## Step 2: Add Facebook as an Identity Provider in IDaaS

1. Open another browser window and log in to your IDaaS administrator account.

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

3. Click **Add** and select **Facebook** from the drop-down list. The **Add Identity Provider** page appears.

4. In the **Client ID** field, paste the **App ID** from Facebook (see _Step 1: Obtain the App ID and App secret from Facebook_).

5. In the **Client Secret** field, paste the **App secret** from Facebook (see _Step 1: Obtain the App ID and App secret from Facebook_).

6. Copy the **Redirect URI**. You need this in _Step 3: Add IDaaS to your app_.

note
If a **User Info Endpoint** is used, then select **Require User Info Signature** if you want to require signature verification for responses to requests for user information. If this is enabled, then User Info responses must be signed.

7. Enter the **Requested information from the Identity Provider**. 2. 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 claims requests from the Identity Provider define specific claims that can also be requested for inclusion in the returned `id token`. This can be used in addition to the requested scopes.

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

      User information claims requests from the Identity Provider define specific claims that can also be requested for inclusion in the returned `userinfo` response. This can be used in addition to the requested scopes.

8. 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.

9. 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.

10. 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.

11. 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.

12. 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 Microsoft Entra ID. 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.

13. Configure **Groups and role mapping**.

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

    2. 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.

    3. 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.

    warning
    **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.

    info
    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.

14. 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.

    2. 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.

    3. 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`).

    4. 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.

    5. 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.

15. 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.

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

16. Click **Save**.

## Step 3: Add IDaaS to your app

1. Return to the page you left open in _Step 1: Obtain the App ID and App secret from Facebook_.
2. Click **Dashboard**.
3. Scroll to **Add a product**.
4. Under **Facebook Login**, click **Set up**. The **Use Quickstart to add Facebook login to your app** page appears.
5. Click **WWW (Web)**.
6. In the **Site URL**, paste the **Redirect URI** you copied in _Step 2: Add Facebook as an Identity Provider in IDaaS_.
7. Click **Save**.
