Skip to main content

Outline

At a glance
  • Centralized Identity: Local SQL user databases are replaced by Opti ID, mandating a "Makers-Only" security policy for all administrative access.
  • Simplified Authorization: Virtual role mapping is now automated through middleware, eliminating the need for complex manual OIDC claim configurations.
  • Enterprise Sync: SCIM support enables automated user lifecycle management and group synchronization via external providers like Microsoft Entra ID.
  • Cross-Product Flow: A unified identity context enables seamless navigation and AI-driven assistance across the entire Optimizely One ecosystem.

As Optimizely CMS 13 (PaaS) shifts the architectural center of gravity toward a unified platform model, the practical management of users and permissions has undergone a profound transformation. For the developer, this means moving beyond local database tables and site-specific configuration files into a world of centralized identity governance. This article explores the practical implications of implementing Opti ID, focusing on how roles and groups are mapped, how access is federated at scale, and how cross-product readiness enables a seamless "Optimizely One" ecosystem. We will examine the operational realities of a platform that no longer relies on self-contained identity stores, but instead acts as a nodes within a broader enterprise security network.

The Death of the Local User Database

One of the most immediate and impactful practical implications for developers upgrading to or building on CMS 13 is the obsolescence of local identity management. In previous versions of the Optimizely platform, it was common practice to create experimental user accounts directly in the CMS SQL database or via the Admin UI’s "Manage Users" screen. While this offered quick access for developers, it created a security vacuum and localized management burden.

In CMS 13, this localized management is no longer supported for administrative or editorial access. Every individual who needs to touch the CMS—whether they are a frontend developer configuring Optimizely Graph or a content marketer drafting a blog post—must be invited into the organization's Opti ID environment. This "Makers-Only" security policy ensures that the high-privilege access points of the digital experience platform are guarded by a single, enterprise-grade gateway. This shift mandates that developers think of identity as an organization-level asset rather than a site-level configuration.

Mapping Opti ID Groups to CMS Roles

Authentication (proving who you are) is only the first half of the equation. Authorization (determining what you can do) is where the real complexity lies for the CMS architect. In Opti ID, permissions are governed by Roles and Groups, which are then mapped to internal CMS expectations through a formalized handshake.

Built-in Strategic Roles

Optimizely pre-packages several system roles that act as the foundational building blocks for your authorization hierarchy. These roles are recognized across the platform suite:

  • Content Editors: Maps to the traditional WebEditors or CmsEditors groups. These users have the right to create, edit, move, and potentially publish content within the dashboard, but are restricted from technical configuration areas.
  • Content Admins: A "Super User" set that can manage languages, visitor groups, and system-wide settings that affect the editorial experience but stop short of infrastructure control.
  • Administrators: The highest-level role, often reserved for developers and IT managers, providing unrestricted access to the entire system infrastructure, often reserved for developers, IT managers, and platform owners.

Virtual Roles and Automatic Mapping

A significant developer benefit in the CMS 13 paradigm is the automation of Virtual Role Mapping. In older versions, developers had to manually map OIDC claims to virtual roles like CmsEditors in complex web.config or startup.cs overrides. With the mandatory implementation of services.AddOptimizelyIdentity(), the system automatically maps the inbound JWT claims from Opti ID to the corresponding internal roles. This reduces boilerplate code and, more importantly, minimizes the risk of configuration errors during multi-environment deployments.

Scaling User Management with SCIM

For large organizations with hundreds of editors and dozens of sites, inviting users individually to Opti ID is inefficient and prone to human error. The practical solution for scalable identity governance is the implementation of SCIM (System for Cross-domain Identity Management).

The Provisioning Pipeline

SCIM allows your organization's primary Identity Provider (like Microsoft Entra ID/Azure AD or Okta) to "push" users and groups directly into Opti ID, creating a truly synchronized identity pipeline.

  • Auto-Onboarding: When an IT manager adds a new hire to the "Optimizely_Marketing_Team" group in Azure AD, that user is automatically provisioned in Opti ID without a developer needing to lift a finger.
  • Group Synchronization: Opti ID syncs these enterprise groups and maps them to the roles mentioned above, ensuring that permissions follow organizational structure.
  • Lifecycle de-provisioning: When an employee leaves the company and is disabled in the corporate directory, their access to the CMS is instantly revoked across all environments, closing critical security gaps.

Cross-Product Readiness: The "Optimizely One" Advantage

Perhaps the most powerful implication of the Opti ID transition is Cross-Product Readiness. CMS 13 developers are no longer building for a standalone site; they are building for a platform where the CMS is just one integrated node in a larger network of marketing tools.

Seamless Hand-offs

Because every product in the Optimizely suite—including Experimentation, Optimizely Data Platform (ODP), and Content Marketing Platform (CMP)—utilizes the same Opti ID authority, users experience a "no-click" transition. An editor can plan a workflow in CMP and, with a single click, navigate directly to the target block in the CMS to begin writing. The identity token follows them across domains, maintaining the authorial context.

Optimizely Opal Integration

Opti ID is the foundational requirement for Optimizely Opal, Optimizely's agent orchestration platform. Opal requires a unified context to "see" and "act" across different products. By using a single identity, Opal can understand the user journey across the suite, providing contextually relevant AI assistance that spans from initial planning to live testing.


Developer Execution: Startup and Code-Level Authorization

While much of the role mapping is automated, developers still need to implement specific patterns to ensure the local application honors these federated permissions.

1. The Startup Configuration

In your Program.cs or Startup.cs, the order of service registration is critical. Identity services must be established early to allow subsequent integrations (like Search or Graph) to recognize the security context.

public void ConfigureServices(IServiceCollection services) { // Mandatory first step: establishing Identity services.AddOptimizelyIdentity(options => { // Configuration for federated SSO etc. }); // Integrated search and delivery must follow identity services.AddFind(); }

2. Functional Permission Checks

For high-customization scenarios, developers can use the PermissionService to check for granular functional access. This allows you to withhold specific custom features based on the advanced role claims processed through Opti ID.

// Checking for specific functional access in a custom controller var permissionService = ServiceLocator.Current.GetInstance<PermissionService>(); bool canUserRunReport = permissionService.IsPermitted(User, "CustomReportingPermission");

Environment paracitity and the DXP Lifecycle

The practicalities of Opti ID also change how developers interact with the DXP lifecycle. In Production, Opti ID is fully managed, and developers request roles through the DXP Dashboard. For Local Development, developers register a "Local Dev" application in the Opti ID console to ensure that the security model on their machine is an exact mirror of the cloud, preventing "works on my machine" issues related to OIDC scopes.

Conclusion

Opti ID represents a fundamental shift in the developer's responsibility from being a local Identity Manager to an Orchestrator. By leveraging OIDC, SCIM, and centralized mapping, Optimizely CMS 13 provides a level of security and cross-product capability that ensures your development team is ready for the "Optimizely One" era. Understanding these implications is the final step in mastering the modern Optimizely platform identity framework.