A critical vulnerability was discovered in React Server Components (Next.js). Our systems remain protected but we advise to update packages to newest version. Learn More

K Khan
Jul 26, 2024
  2906
(1 votes)

Opti ID overview

Opti ID allows you to log in once and switch between Optimizely products using Okta, Entra ID, or a local account. You can also manage all your users from one place. you can watch an interactive demo here.  The Optimizely platform offers:

  • A single login (Single Sign-On or SSO) with support for multi-factor authentication (MFA), using your own MFA setup and directory authentication provider.
  • The ability to switch between apps without having to log in again.
  • The option to manage users, groups, and roles with Opti ID.
  • A dashboard for managing account information, usage, and billing.

Opti ID is currently available for the following Optimizely products:

  • Commerce Connect
  • Configured Commerce
  • Content Management System (CMS 12) 
  • Optimizely CMS SaaS
  • Content Marketing Platform (CMP)
  • Digital Experience Platform (DXP)
  • Experimentation
  • Experiment Collaboration
  • Optimizely Data Platform (ODP)
  • Product Information Management (PIM)
  • Product Recommendations

It is easy to set up Opti ID in your solution with the following steps:

  1. Install the NuGet Package: 

    dotnet add package EPiServer.OptimizelyIdentity
  2. Enable Opti ID: In your Startup.cs file, add the following line in the ConfigureServices method to enable Opti ID globally

    services.AddOptimizelyIdentity(useAsDefault: true);
    This makes Opti ID, active throughout the application, including in shell modules, preview, and edit modes. You can customize authentication schemes using AuthenticationOptions if needed. 
  3. Remove Unnecessary Services: If you're not using ASP.NET Identity, remove any calls to services.AddCmsAspNetIdentity().

  4. Virtual Roles: Opti ID automatically maps the virtual roles CmsEditors and CmsAdmins. If you already have these mappings, you'll need to remove them.

  5. Testing: Ensure your user is assigned to at least one built-in system role for the CMS before testing. Deploy your changes to DXP or run the application locally with Opti ID set up.

  6. Running Opti ID Locally: To configure local usage, add these settings in your appsettings.json file. These are automatically provided when deploying to the Optimizely Digital Experience Platform (DXP) or can be found in the DXP Management Portal under API > Opti ID dev key

    {
      "EPiServer": {
        "Cms": {
          "OptimizelyIdentity": {
            "InstanceId": "xxx",
            "ClientId": "xxx",
            "ClientSecret": "xxx"
          }
        }
      }
    }

    Opti ID will work locally with the following ports:

    https://localhost:5000
    https://localhost:5096
    https://localhost:6921
    https://localhost:7595


    References: https://support.optimizely.com/hc/en-us/articles/12613241464461-Get-started-with-Opti-ID

Jul 26, 2024

Comments

Mark Stott
Mark Stott Jul 26, 2024 12:40 PM

Thank you for sharing this today.  

If you want to know more, please note that in today's happy hour (26th July 2024), Graham Carr will be presenting a guide to Opti Id: Happy Hour | Optimizely Developer Community

K Khan
K Khan Jul 26, 2024 01:34 PM

Thanks :), There is always something to learn, especially if it is Graham Carr

Patrick Lam
Patrick Lam Jul 26, 2024 02:49 PM

Thanks for the overview!


Don't forget to add the newly launched Optimizely CMS SaaS to that list of products!

K Khan
K Khan Jul 26, 2024 03:08 PM

Thanks, Patrick for the feedback, done!

Anders Venold
Anders Venold Aug 5, 2024 12:02 PM

Great intro for adding Opti Id! Any trick to get it to work with Commerce? When switching from CMS to Commerce we get Access Denied...

K Khan
K Khan Aug 5, 2024 12:20 PM

I haven't tried with commerce, but my first check will be to confirm if Opti ID is enabled for the product, by looking into the Admin Center > Product Access > Product > cms/commerce.

Please login to comment.
Latest blogs
CMS Audiences - check all usage

Sometimes you want to check if an Audience from your CMS (former Visitor Group) has been used by which page(and which version of that page) Then yo...

Tuan Anh Hoang | Dec 12, 2025

Data Imports in Optimizely: Part 2 - Query data efficiently

One of the more time consuming parts of an import is looking up data to update. Naively, it is possible to use the PageCriteriaQueryService to quer...

Matt FitzGerald-Chamberlain | Dec 11, 2025 |

Beginner's Guide for Optimizely Backend Developers

Developing with Optimizely (formerly Episerver) requires more than just technical know‑how. It’s about respecting the editor’s perspective, ensurin...

MilosR | Dec 10, 2025

Optimizely PaaS Administrator Certification : Free for Everyone

Optimizely has recently launched a free PaaS Administrator Certification. https://academy.optimizely.com/student/activity/2958208-paas-cms-administ...

Madhu | Dec 9, 2025 |