Opti ID provides multiple options for managing user identity and permissions so you can choose the best fit for your organization.
- Local login – Invited users configure Opti ID-specific accounts. You manage user identity and permissions within Opti ID.
- SSO without SCIM – Invited users log in to Opti ID through an Opti ID single sign-on (SSO) app that you add to your identity provider's (IdP's) app portal. See Overview of configuring your own SSO for Opti ID. You manage user permissions within Opti ID.
- SSO with SCIM – Invited users log in to Opti ID through IdP. You manage user identity and permissions within your IdP and automate the information flow between your IdP and Opti ID. See Overview of SCIM provisioning for Opti ID.
Go to the corresponding section for the configuration you want to implement.
Prerequisite
Provision your Optimizely Content Management System (CMS) 12 instances on DXP. Opti ID is only available for CMS 12 instances hosted on DXP.
Configuration options
Option 1: Configure local login
Local login configures Opti ID-specific accounts for invited users. You manage user identity and permissions within Opti ID.
- Complete the initial technical contact login. This person logs into Opti ID first and configures it for the rest of your organization. Contact your Customer Success Manager (CSM) if you do not know who the technical contact is. You can change the technical contact later.
- (Optional) Brand your login page.
- Review the local user password policy and how to reset your password.
- (Optional) Configure multi-factor authentication (MFA).
- Install, enable, test, and run Opti ID for CMS 12.
- Install Opti ID NuGet Package for CMS 12
- Remove existing virtual role mappings
- (Conditional) Enable Opti ID for Search & Navigation
- (Optional) Set Opti ID as the default authentication scheme
- Enable Opti ID for CMS 12
- Test Opti ID for CMS 12
- Run Opti ID for CMS 12
- (Optional) Bypass the Opti ID login page and redirect to the upstream IdP for CMS 12
- Review the system roles for your Optimizely products. If you want to personalize permission levels, create custom roles.
- Create groups to simplify the process of giving multiple users the same level of access.
- Invite users, assigning them to roles or groups so that they have the appropriate access to your CMS instance.
Option 2: Configure SSO without SCIM
SSO without SCIM lets invited users log in to Opti ID through an Opti ID SSO app that you add to your IdP's app portal. You manage user permissions within Opti ID.
- Complete the initial technical contact login. This person logs into Opti ID first and configures it for the rest of your organization. Contact your CSM if you do not know who the technical contact is. You can change the technical contact later.
- (Optional) Brand your login page.
-
Configure SSO. You can configure up to five SSO connections if needed. You can use any IdP that supports SAML or OIDC protocols.
- Configure the SAML or OIDC SSO connection in your IdP.
- (Optional) Sync groups from your IdP to Opti ID.
- (Optional) Configure organizational domains to automatically provision users who log in with a specific domain.
- (Optional) Enable IdP-initiated login for a more seamless login experience.
- Install, enable, test, and run Opti ID for CMS 12. You can also optionally configure Opti ID to bypass the Opti ID login page and go directly to your upstream IdP login page.
- Install Opti ID NuGet Package for CMS 12
- Remove existing virtual role mappings
- (Conditional) Enable Opti ID for Search & Navigation
- (Optional) Set Opti ID as the default authentication scheme
- Enable Opti ID for CMS 12
- Test Opti ID for CMS 12
- Run Opti ID for CMS 12
- (Optional) Bypass the Opti ID login page and redirect to the upstream IdP for CMS 12
- Review the system roles for your Optimizely products. If you want to personalize permission levels, create custom roles.
- Create groups to simplify the process of giving multiple users the same level of access.
- Invite users, assigning them to roles or groups so that they have the necessary access to your CMS instance.
Option 3: Configure SSO with SCIM
SSO with SCIM lets you manage user identity and permissions within your IdP and automate the information between your IdP and Opti ID.
- Complete the initial technical contact login. This person logs into Opti ID first and configures it for the rest of your organization. Contact your CSM if you do not know who the technical contact is. You can change the technical contact later.
- (Optional) Brand your login page.
-
Configure SSO. You can configure up to five SSO connections if needed. You can use any IdP that supports SAML or OIDC protocols.
- Configure the SAML or OIDC SSO connection in your IdP.
- (Optional) Enable IdP-initiated login for a more seamless login experience.
-
Configure SCIM in your IdP. If you create multiple SSO connections, you can only use SCIM for one of those SSO connections.
- Create a SCIM provisioning app in Microsoft Entra ID – Use OIDC or SAML for SSO, and manage SSO and SCIM on two separate Entra ID apps.
- Create a SCIM provisioning app in Okta – Use OIDC or SAML for SSO, and manage SSO and SCIM on two separate Okta apps.
- Create a single Okta app for SCIM provisioning and SAML SSO – Use only SAML for SSO, and manage SSO and SCIM on a single Okta app.
- Create a SCIM provisioning app in PingOne – Use OIDC or SAML for SSO, and manage SSO and SCIM on two separate PingOne apps.
- Install, enable, test, and run Opti ID for CMS 12. You can also optionally configure Opti ID to bypass the Opti ID login page and go directly to your upstream IdP login page.
- Install Opti ID NuGet Package for CMS 12
- Remove existing virtual role mappings
- (Conditional) Enable Opti ID for Search & Navigation
- (Optional) Set Opti ID as the default authentication scheme
- Enable Opti ID for CMS 12
- Test Opti ID for CMS 12
- Run Opti ID for CMS 12
- (Optional) Bypass the Opti ID login page and redirect to the upstream IdP for CMS 12
- Review the system roles for your Optimizely products. If you want to personalize permission levels, create custom roles.
- Create groups in your SCIM app to simplify the process of giving multiple users the same level of access.
- Add users to your SCIM app, assigning them to roles or groups so that they have the necessary access to your CMS instance.
Install, enable, test, and run Opti ID for CMS 12
Complete this section at the designated step in your chosen Opti ID configuration (for example, step 4 of option 2 in the Configuration Options section).
1. Install Opti ID NuGet package for CMS 12
Install the following NuGet package in your solution using the NuGet Package Manager in Visual Studio or the command line:
dotnet add package EPiServer.OptimizelyIdentityIn startup.cs in the ConfigureServices method, enable Opti ID with the following:
services.AddOptimizelyIdentity();2. Remove existing virtual role mappings
Opti ID automatically maps the virtual roles CmsEditors and CmsAdmins. You must remove any existing mappings for these roles.
If you are not using ASP.NET identity, you must also remove any calls to services.AddCmsAspNetIdentity<TUser>().
3. (Conditional) Enable Opti ID for Search & Navigation
If you are using Search & Navigation with CMS 12 and Opti ID, you must enable Search & Navigation within Opti ID.
services.AddFind() must be called after services.AddOptimizelyIdentity(). Calling it before will prevent the Search & Navigation menu from displaying correctly.
Prerequisite packages:
- EPiServer.OptimizelyIdentity 1.0.0 or higher
- EPiServer.CMS.UI 12.22.0 or higher
In startup.cs in the ConfigureServices method, add the following after your Opti ID configuration:
services.AddFind();Your startup.cs should look similar to the following:
services.AddOptimizelyIdentity(useAsDefault: false);
services.Configure<GlobalHeaderOptions>(o =>
{
o.UseCommonComponent = true;
o.ScriptBaseUrl = "https://[YOUR_WEBSITE].com";
});
services.AddFind();
4. (Optional) Set Opti ID as the default authentication scheme
Optimizely enables Opti ID by default in protected shell modules, preview, and edit mode only. If you want to enable Opti ID as the default authentication scheme for the whole application, enable Opti ID using the following instead:
services.AddOptimizelyIdentity(useAsDefault: true);Using Opti ID as the default authentication scheme only works if you do not register other authentication schemes.
If you need more control over which authentication schemes to use at specific times, configure AuthenticationOptions and use a policy scheme. The namespace EPiServer.OptimizelyIdentity.OptimizelyIdentityDefaults contains constants if you need to reference the Opti ID scheme name while configuring.
5. Enable Opti ID for CMS 12
- Log in to the Opti ID Admin Center.
-
Go to Product Access > Products > Optimizely Content Management System.
- Select the CMS instance for which you want to enable Opti ID.
- Go to the Details tab and click Edit.
-
Select Opti ID Enabled and click Save.
6. Test Opti ID for CMS 12
Before testing, ensure you have assigned your user to at least one of the built-in system roles for CMS. Deploy the code changes to DXP to start testing or run the application by configuring Opti ID locally.
/ui/cms/ after you have installed Opti ID.7. Run Opti ID locally
You can use Opti ID locally on any of the following URLs:
https://localhost:5000https://localhost:5096https://localhost:6921https://localhost:7595
For this to work, you also need the following settings, which you can find in DXP Management Portal (PaaS Portal) > API > Opti ID dev key. You can only use keys from the integration environment locally. The system automatically provides these settings when the application is deployed to Optimizely Digital Experience Platform (DXP).
In appsettings.json, add the following to run Opti ID locally:
{
"EPiServer": {
"Cms": {
"OptimizelyIdentity": {
"InstanceId": "xxx",
"ClientId": "xxx",
"ClientSecret": "xxx"
}
}
}
}When you confirm Opti ID works locally, deploy the code changes to DXP, then continue to the next step for your chosen configuration option.
- Option 1: Configure local login
- Option 2: Configure SSO without SCIM
- Option 3: Configure SSO with SCIM
8. (Optional) Bypass the Opti ID login page and redirect to the upstream IdP for CMS 12
Complete the following to bypass the Opti ID login page so that users go directly to the upstream IdP login page:
- Log in to the Opti ID Admin Center.
- Go to Settings > Authentication > SSO.
-
Expand the SSO connection details by clicking your SSO name.
-
Copy the IdP ID after the equal sign (=) in the IDP-Initiated URL value in the SSO Connection Details section. For example,
0abcde34XY1zGhIjk890. - Enable Opti ID by completing one of the following options:
-
Option 1 – Run the following in
startup.csin theConfigureServicesmethod:services.AddOptimizelyIdentity( useAsDefault: false, // or true options => options.IdentityProviderId = "ENTER YOUR IDP ID" );
-
Option 2 – Run the following in
appsettings.json:{ "EPiServer": { "Cms": { "OptimizelyIdentity": { "IdentityProviderId": "ENTER YOUR IDP ID" } } } }
-
Option 1 – Run the following in
After you configure this, users do not need to enter their email address on the Opti ID login page (shown in the following image) and the system redirects them to the upstream IdP login page.
FAQs
Can my site visitors use ASP.NET Identity or any other authentication scheme?
Yes. The system enforces the Opti ID authentication scheme in protected shell modules, such as the edit and admin UI and add-ons. Enable any other authentication scheme and ensure the system does not have Opti ID set as the default authentication scheme:
services.AddOptimizelyIdentity(useAsDefault: false);Why do I get an error in Okta when testing locally?
Ensure you are using one of the allowed URLs and running your application with HTTPS enabled.
Why does the edit UI not load and gives a 404 error?
Ensure you are accessing the CMS on the/ui/cms path.
Please sign in to leave a comment.