---
title: "Using OpenAM as the IdP"
canonical: "https://docs.infoblox.com/space/BloxOneCloud/35431151/Using%20OpenAM%20as%20the%20IdP"
format: markdown
---
## <span style="color: #000000">SAML Authentication</span>

<span style="color: #000000">To integrate SAML with OpenAM or ForgeRock AM as the IdP, you must complete the following prerequisites:</span>

- <span style="color: #000000">Deploy SAML 2.0 for SSO using the AM console and configure the hosted identity provider and remote service provider. For more information, refer to the ForgeRock documentation.</span>
- <span style="color: #000000">When using a non-root realm with a name such as </span>*<span style="color: #000000">/CaptivePortalInfoblox,</span>*<span style="color: #000000"> any API endpoint will contain the following path: </span>*<span style="color: #000000">/realms/root/realms/CaptivePortalInfoblox</span>*<span style="color: #000000">. When using root realm (‘</span>**<span style="color: #000000">/</span>**<span style="color: #000000">’), all API endpoints will contain the following path </span>*<span style="color: #000000">/realms/root.</span>*
- <span style="color: #000000">When configuring hosted identity provider, select a signing key that you have created or imported. Do not leave this blank. Also, choose the circle of trust for the identity provider and remember the name because the service provider must be in the same circle of trust.</span>
- <span style="color: #000000">When configuring the remote service provider, upload the service provider metadata file that you downloaded from the Infoblox Portal. In addition, add attribute mapping where the name in the assertion must be </span>**<span style="color: #000000">‘groups’</span>**<span style="color: #000000"> and the Local Attribute name must be the one that stores the group information. Lastly, remove the transient and persistent NameID formats.</span>

<span style="color: #000000">To configure remote service provider, complete the following:</span>

Navigate to **Realms** -> *<captive portal  name>* **Configure SAML Provider** > **Create Remote Service Provider**, and complete the followng:

- Select **File for Where does the metadata file reside?**
- Click **Upload** -> choose a *<file>* -> select **Metadata XML File** -> **Upload File**
- Add attribute mapping where the name in assertion must be **groups** and **Local Attribute **equals **isMemberof** -> click **Add**.
- Add attribute mapping for **email**.
- Click **Configure**.

> ⚠️ **Note**
> ⚠️ 
> ⚠️ Note, that attribute mapping can be configured in **Applications** -> **Federation** -> **Entity Providers** > *http://captiveportal.infoblox.internal*/ > **Assertion Processing**.

- **groups=isMemberof** -> click **Add**.
- **email=<email-attribute>** -> click **Add**.
- Click **Save**.

<span style="color: #000000">To configure NameID format, complete the following:</span>

Navigate to **Applications** > **Federation** > **Entity Providers** > <*captive portal>* > **NameID Format**.

- Remove the transient and persistent NameID formats.
- Click **Save**.

<span style="color: #000000">The following table lists the required parameters for a successful integration:</span>

| <span style="color: #000000">**Parameter**</span> | <span style="color: #000000">**Description**</span> | <span style="color: #000000">**Usage**</span> |
| --- | --- | --- |
| **<span style="color: #000000">Entity ID</span>**<br>**<span style="color: #000000">Assertion Consumer Service URL </span>**<span style="color: #000000">(Service Provider)</span> | <span style="color: #000000">The Entity ID is the audience URI for setting up the basic SAML configuration, and the ACS URL directs your IdP where to send the SAML response after authenticating a user. </span><br><span style="color: #000000">In OpenAM, you may skip these parameters and create your own signing key and import the certificate into the truststore used by Open AM. For more information, refer to the </span>[*<span style="color: #000000">ForgeRock documentation</span>*](https://backstage.forgerock.com/knowledge/kb/article/a94909995)<span style="color: #000000">.</span> | <span style="color: #000000">N/A</span> |
| **<span style="color: #000000">Metadata File</span>**<span style="color: #000000"> (Service Provider)</span> | <span style="color: #000000">The Metadata File is an XML file that contains the service provider information you need to set up the remote service provider in Open AM.</span> | - <span style="color: #000000">In the </span>**<span style="color: #000000">SERVICE PROVIDER DETAILS</span>**<span style="color: #000000"> section of the </span>*<span style="color: #000000">Create Authentication Profile</span>*<span style="color: #000000"> dialog on the Infoblox Portal, click </span>**<span style="color: #000000">Download</span>**<span style="color: #000000"> to download the </span>**<span style="color: #000000">Metadata file</span>**<span style="color: #000000">.</span>
- <span style="color: #000000">Upload the metadata file when configuring remote service provider in the </span>*<span style="color: #000000">Register Service Provider</span>*<span style="color: #000000"> window.</span> |
| **<span style="color: #000000">Metadata URL</span>**<span style="color: #000000"> (IdP)</span> | <span style="color: #000000">The IdP Metadata URL directs you to the XML file that contains the IdP information you need to set up the connection with the IdP. You do not need to enter other details separately if you can obtain the XML file.</span> | - <span style="color: #000000">In Open AM, use the exportmetadata.jsp function to export the metadata. For more information, see the </span>[*<span style="color: #000000">ForgeRock documentation</span>*](https://backstage.forgerock.com/knowledge/kb/article/a92228549)<span style="color: #000000">.</span>
- <span style="color: #000000">Enter the export value in the </span>**<span style="color: #000000">Metadata URL</span>**<span style="color: #000000"> field in the </span>**<span style="color: #000000">IDENTITY PROVIDER DETAILS</span>**<span style="color: #000000"> section of the </span>*<span style="color: #000000">Create Authentication Profile</span>*<span style="color: #000000"> dialog on the Infoblox Portal.</span> |
| **<span style="color: #000000">Issuer</span>**<span style="color: #000000"> (IdP)</span> | <span style="color: #000000">The IdP Issuer is the Entity Provider Name.</span> | - <span style="color: #000000">In Open AM, navigate to the SAML 2.0 application -> </span>**<span style="color: #000000">Sign-On</span>**<span style="color: #000000"> -> </span>**<span style="color: #000000">View Setup Instructions</span>**<span style="color: #000000">, and then copy </span>**<span style="color: #000000">Identity Provider Issuer</span>**<span style="color: #000000">.</span>
- <span style="color: #000000">Enter the copied value in the </span>**<span style="color: #000000">Issuer</span>**<span style="color: #000000"> field in the </span>**<span style="color: #000000">IDENTITY PROVIDER DETAILS</span>**<span style="color: #000000"> section of the </span>*<span style="color: #000000">Create Authentication Profile</span>*<span style="color: #000000"> dialog on the Infoblox Portal.</span> |
| **<span style="color: #000000">SSO URL</span>**<span style="color: #000000"> (IdP)</span> | <span style="color: #000000">The IdP SSO URL redirects the service provider to Open AM to authenticate and sign on the user.</span> | - <span style="color: #000000">In Open AM, navigate to </span>**<span style="color: #000000">Applications</span>**<span style="color: #000000"> -> </span>**<span style="color: #000000">Federation</span>**<span style="color: #000000"> -> </span>**<span style="color: #000000">Entity Providers</span>**<span style="color: #000000"> -> </span>**<span style="color: #000000">Entity Providers</span>**<span style="color: #000000"> -> <</span>*<span style="color: #000000">realm_name> </span>*<span style="color: #000000">-> </span>**<span style="color: #000000">Services</span>**<span style="color: #000000"> -> </span>**<span style="color: #000000">IDP Service Attributes</span>**<span style="color: #000000"> -> </span>**<span style="color: #000000">Single Sign On Service</span>**<span style="color: #000000"> -> </span>**<span style="color: #000000">POST</span>**<span style="color: #000000">.</span>
- <span style="color: #000000">Enter the value in the </span>**<span style="color: #000000">SSO URL</span>**<span style="color: #000000"> field in the </span>**<span style="color: #000000">IDENTITY PROVIDER DETAILS</span>**<span style="color: #000000"> section of the </span>*<span style="color: #000000">Create Authentication Profile</span>*<span style="color: #000000"> dialog on the Infoblox Portal.</span> |
| **<span style="color: #000000">Signing Certificate</span>**<span style="color: #000000"> (IdP)</span> | <span style="color: #000000">The IdP Signing Certificate ensures that data is coming from the expected IdP and service provider. The certificate is used to sign SAML requests, responses, and assertions from the service to relying applications.</span> | - <span style="color: #000000">In Open AM, use the keytool command to retrieve the certificate from the keystore in PEM format. For more information, see the </span>[*<span style="color: #000000">ForgeRock documentation</span>*](https://backstage.forgerock.com/knowledge/kb/article/a96787700#PEMformat)<span style="color: #000000">. You can also use the signing key file that you created and imported to the truststore.</span>
- <span style="color: #000000">In the </span>**<span style="color: #000000">IDENTITY PROVIDER DETAILS</span>**<span style="color: #000000"> section of the </span>*<span style="color: #000000">Create Authentication Profile</span>*<span style="color: #000000"> dialog on the Infoblox Portal, click </span>**<span style="color: #000000">Select file</span>**<span style="color: #000000"> for </span>**<span style="color: #000000">Signing Certificate</span>**<span style="color: #000000"> to locate the downloaded certificate.</span> |

## <span style="color: #000000">OpenID Connect Authentication</span>

<span style="color: #000000">To integrate OpenID Connect with OpenAM or ForgeRock Identity Platform as the IdP, you must complete the following prerequisites:</span>

- <span style="color: #000000">Create the 'groups' claim attribute, as follows:</span>

<span style="color: #000000">Navigate to Realms -> <</span>*<span style="color: #000000">/CaptivePortalInfoblox></span>*<span style="color: #000000"> -> Scripts -> OIDC Claims Script. </span>

  - <span style="color: #000000">Edit claimAttributes list and include line. </span>
    - <span style="color: #000000">"groups": userProfileClaimResolver.curry("isMemberof"),</span>
  - <span style="color: #000000">Edit scopeClaimsMap and add:</span>
    - <span style="color: #000000"> “groups”: [“groups”],</span>
  - <span style="color: #000000">Click ‘Validate’.</span>
  - <span style="color: #000000">If no errors found, click ‘Save Changes’.</span>

<span style="color: #000000">Navigate to Realms -> <</span>*<span style="color: #000000">/CaptivePortalInfoblox></span>*<span style="color: #000000"> -> Services -> OAuth2 Provider -> Advanced</span>

  - <span style="color: #000000">Edit ‘Supported Scopes’ with “groups|Your group membership information”.</span>
  - <span style="color: #000000">Click ‘Save’.</span>

<span style="color: #000000">Navigate Realms > /CaptivePortalTest > Services > OAuth2 Provider > OpenID Connect.</span>

<span style="color: #000000">Edit ‘Supported Claims’ with “groups|Group membership”.</span>

<span style="color: #000000">Click ‘Save’.</span>

- <span style="color: #000000">Deploy OpenID Connect for SSO using the AM console and configure the hosted identity provider and remote service provider. For more information, refer to the ForgeRock documentation.</span>
- <span style="color: #000000">When using a non-root realm with a name such as </span>*<span style="color: #000000">/CaptivePortalInfoblox,</span>*<span style="color: #000000"> any API endpoint will contain the following path: </span>*<span style="color: #000000">/realms/root/realms/CaptivePortalInfoblox</span>*<span style="color: #000000">. When using root realm (‘</span>**<span style="color: #000000">/</span>**<span style="color: #000000">’), all API endpoints will contain the following path </span>*<span style="color: #000000">/realms/root.</span>*
- <span style="color: #000000">When configuring hosted identity provider, select a signing key that you have created or imported. Do not leave this blank Also, choose the circle of trust for the Identify Provider and remember the name because the service provider must be in the same circle of trust.</span>
- <span style="color: #000000">When configuring the remote service provider, upload the service provider metadata file that you downloaded from the Infoblox Portal. In addition, add attribute mapping where the name in the assertion must be </span>**<span style="color: #000000">‘groups’</span>**<span style="color: #000000"> and the Local Attribute name must be the one that stores the group information. Lastly, remove the transient and persistent NameID formats.</span>

<span style="color: #000000">The following table lists the required parameters for a successful integration:</span>

| <span style="color: #000000">**Parameter**</span> | <span style="color: #000000">**Description**</span> | <span style="color: #000000">**Usage**</span> |
| --- | --- | --- |
| **<span style="color: #000000">Login Redirect URI</span>**<span style="color: #000000"> (Client)</span> | <span style="color: #000000">The Login Redirect URI determines </span><span style="color: #000000">where the authorization server redirects the user once the application successfully authorizes and grants an authorization code or access token.</span> | - <span style="color: #000000">Copy the </span>**<span style="color: #000000">Login Redirect URI</span>**<span style="color: #000000"> from the </span>**<span style="color: #000000">CLIENT DETAILS</span>**<span style="color: #000000"> section of the </span>*<span style="color: #000000">Create Authentication Profile</span>*<span style="color: #000000"> dialog on the Infoblox Portal.</span>
- <span style="color: #000000">Enter the copied value in the </span>**<span style="color: #000000">Login Redirect URIs</span>**<span style="color: #000000"> in the OpenID Connect application.</span> |
| **<span style="color: #000000">Client ID</span>**<span style="color: #000000"> (Client)</span> | <span style="color: #000000">The Client ID is the ID for logging in to the IdP client.</span> | - <span style="color: #000000">In Open AM, navigate to the OpenID Connect application -> </span>**<span style="color: #000000">General</span>**<span style="color: #000000"> ->  </span>**<span style="color: #000000">Client ID</span>**<span style="color: #000000">, and then click </span>**<span style="color: #000000">Copy to clipboard</span>**<span style="color: #000000">.</span>
- <span style="color: #000000">Enter the copied value in the </span>**<span style="color: #000000">Client ID</span>**<span style="color: #000000"> field in the </span>**<span style="color: #000000">CLIENT DETAILS</span>**<span style="color: #000000"> section of the </span>*<span style="color: #000000">Create Authentication Profile</span>*<span style="color: #000000"> dialog on the Infoblox Portal.</span> |
| **<span style="color: #000000">Client Secret</span>**<span style="color: #000000"> (Client)</span> | <span style="color: #000000">The Client Secret is the password for logging in to the IdP client.</span> | - <span style="color: #000000">In Open AM, navigate to the OpenID Connect application -> </span>**<span style="color: #000000">General</span>**<span style="color: #000000"> ->  </span>**<span style="color: #000000">Client Secret</span>**<span style="color: #000000">, and then click </span>**<span style="color: #000000">Copy to clipboard</span>**<span style="color: #000000">.</span>
- <span style="color: #000000">Enter the copied value in the </span>**<span style="color: #000000">Client Secret</span>**<span style="color: #000000"> field in the </span>**<span style="color: #000000">CLIENT DETAILS</span>**<span style="color: #000000"> section of the </span>*<span style="color: #000000">Create Authentication Profile</span>*<span style="color: #000000"> dialog on the Infoblox Portal.</span> |
| **<span style="color: #000000">Issuer</span>**<span style="color: #000000"> (IdP)</span> | <span style="color: #000000">The Issuer is a discovery URI  that defines the unique identifier for the identity provider.</span> | - <span style="color: #000000">In Open AM, configure OpenID Connect Discovery and retrieve the identity provider URI.</span>
- <span style="color: #000000">Enter the discovery URI in the </span>**<span style="color: #000000">Issuer</span>**<span style="color: #000000"> field in the </span>**<span style="color: #000000">IDENTITY PROVIDER DETAILS</span>**<span style="color: #000000"> section of the </span>*<span style="color: #000000">Create Authentication Profile</span>*<span style="color: #000000"> dialog on the Infoblox Portal.</span> |