Tuan Anh Hoang
Nov 25, 2025
  407
(3 votes)

How to setup Entra ID (formerly Azure AD) for CMS 12 site

Recently, I created a doc about configuring AAD with CMS 12, but it has been posted internally only

So today, I would like to introduce it again in the World Site and hope that it can be seen by everyone

https://support.optimizely.com/hc/en-us/articles/20767067525773-How-to-setup-Entra-ID-formerly-Azure-AD-for-CMS-12-site

If you have any questions or problems, please send feedback to support@optimizely.com and cc my email address anhtuan.hoang@optimizely.com

Nov 25, 2025

Comments

Sunil
Sunil Nov 26, 2025 08:23 AM

Great article! 💡 The step-by-step explanation for configuring Entra ID (Azure AD) with CMS 12 is really clear and practical.

This will be super useful for teams modernizing their authentication setup.

Thanks for sharing this

Jonas Boman
Jonas Boman Nov 28, 2025 12:40 PM

Great sum-up. 

Some feedback:

  1. Step 1.4: Note: If you run a CMS site on non-local env, just replace localhost:8000 by your server’s name, for example: https://10.120.18.249:8080/
    Can I suggest changing "localhost:8000" in the text with "localhost:5000" since that is stated in the list of urls.

  2. Step 1.9: How would it look with role names a little more custom, since in the example is quite simplified, and similar to what is used in the CMS!?
    I e; MyWebSite_CMS_Administrator, MyWebSite_CMS_Visitor, MyWebSite_CMS_Editor 

  3. Step 2.3 Update in the ‘Configure’ method - should the controller be DefaultPage (I do not have a Controller nor pagetype with that name) or just anyone that that utilizes PageControllerBase?
  4. Do I need to configure role mapping in the application?

Please login to comment.
Latest blogs
AEO/GEO: A practical guide

Search changed. People ask AI tools. AI answers. Your content must be understandable, citable, and accessible to both humans and machines. That’s...

Naveed Ul-Haq | Feb 17, 2026 |

We Cloned Our Best Analyst with AI: How Our Opal Hackathon Grand Prize Winner is Changing Experimentation

Every experimentation team knows the feeling. You have a backlog of experiment ideas, but progress is bottlenecked by one critical team member, the...

Polly Walton | Feb 16, 2026

Architecting AI in Optimizely CMS: When to Use Opal vs Custom Integration

AI is rapidly becoming a core capability in modern digital experience platforms. As developers working with Optimizely CMS 12 (.NET Core), the real...

Keshav Dave | Feb 15, 2026

Reducing Web Experimentation MAU Using the REST API

Overview Optimizely Web Experimentation counts an MAU based upon the script snippet rendering for evauluation of web experiement. Therefore when yo...

Scott Reed | Feb 13, 2026

Install the new AI Assistant Chat for Optimizely

AI Assistant Chat is a revolutionary feature introduced in version 3.0 of Epicweb.Optimizely.AIAssistant that brings conversational AI directly int...

Luc Gosso (MVP) | Feb 12, 2026 |

Building a TwoColumnWideLeftSection in Optimizely CMS 13 Visual Builder

This post walks through a practical “66% / 33%” section built for Visual Builder using the composition tag helpers: , , , and . Visual Builder is...

Francisco Quintanilla | Feb 12, 2026 |