Единый вход Azure AD в Sitecore за 5 шагов.

С появлением Identity Server в Sitecore никогда не было так просто реализовать различные способы настройки того, как вы входите в Sitecore. Единый вход (SSO) становится все более популярным, поскольку он предоставляет единый набор учетных данных внутри предприятия, чтобы не только предоставлять доступ к корпоративным ресурсам, но также позволяет централизованно управлять разрешениями и безопасностью. В этом руководстве я покажу вам пять простых шагов по настройке единого входа с помощью Microsoft Azure Active Directory (AD).

И что самое главное, кодирование не требуется.

Да, вы не ослышались, кодирование не требуется; не благодари меня, спасибо Sitecore. Итак, без лишних слов, давайте копнем!

Требования:

По сути, необходимы два требования:

1. Sitecore XP 9+ (в этом руководстве я буду использовать 9.2 XP)

2. Microsoft Azure AD (если у вас / или вашего предприятия его нет, вы можете получить бесплатную пробную версию в течение одного года)

Несколько замечаний:

Я хочу вкратце рассказать о поведении по умолчанию при входе в Sitecore.

· Когда вы переходите по URL-адресу своего экземпляра Sitecore, вы получаете перенаправление на сервер идентификации.

Это поведение по умолчанию; если не настроено иное. В этом блоге используется URL-адрес Sitecore по умолчанию: http: //xp0.local.test. Обратите внимание на URL-адрес, на который он перенаправляется; это URL-адрес вашего сервера идентификации.

Запишите URL-адрес сервера идентификации, так как он понадобится вам в этом руководстве. В данном случае это https: //xp0-identityserver.local.test; однако ваш может отличаться. Вы можете просто перейти в диспетчер IIS и проверить привязку сайта для вашего сервера идентификации, чтобы получить URL:

Шаг 1. Заглянем внутрь конфигурации сервера идентификации

Чтобы вы могли реализовать единый вход в Azure AD, нам нужно выяснить, что нужно изменить. Когда я упомянул об отсутствии изменений кода, это произошло потому, что Sitecore был достаточно велик, чтобы предоставить файл конфигурации на сервере идентификации, который можно редактировать для работы именно с Azure AD. Именно в этом файле вы будете вносить изменения и добавлять некоторые значения из Azure, чтобы волшебство произошло:

· Этот файл называется Sitecore.Plugin.IdentityProvider.AzureAd.xml.

· Чтобы перейти к нему, перейдите в корневой каталог своего Identity Server /sitecore/Sitecore.Plugin.IdentityProvider.AzureAd/Config/

· Откройте файл, щелкнув его правой кнопкой мыши и выбрав редактор кода, в этом случае я буду использовать Notepad ++.

· В этом конфигурационном файле нам нужно будет изменить следующее:

1. Установите для параметра ‹Enabled› значение true: это позволит серверу идентификации использовать этот Azure AD в качестве поставщика удостоверений.

2. Задайте значения для ‹ClientId› и ‹TenantId›: эти значения будут получены при регистрации приложения на вашем лазурном портале (будет рассмотрено позже).

Шаг 2. Добавление регистрации приложения в Azure AD

Чтобы использовать Azure AD, у вас должно быть приложение, зарегистрированное в Azure AD. Здесь вы получаете значения для ‹ClientId› и ‹TenantId›. Если вы этого не сделаете, не переживайте. Я не буду заставлять вас переходить по другой ссылке, чтобы перейти к другому руководству. Вот как вы это сделаете:

· Перейдите на портал Micr osoft Azure, войдите в систему и войдите в свою Azure AD. Вы можете перейти на портал, нажав здесь.

· Перейдите в Azure AD и нажмите Регистрация приложений на левой панели навигации:

· На новой странице нажмите Регистрация нового приложения.

На странице Регистрация приложения:

· Введите имя для своего приложения

· Оставьте Поддерживаемые типы учетных записей по умолчанию, если вы настраиваете систему единого входа только для своей организации (по умолчанию).

· В качестве URL-адреса перенаправления введите свой URL-адрес сайта сервера идентификации, который был показан в разделе Что нужно отметить выше; однако вы добавите к нему суффикс / signin-oidc в конце. См. Ниже:

· Нажмите Зарегистрироваться внизу. Теперь ваше приложение будет зарегистрировано в Azure AD.

Шаг 3. Настройка файла конфигурации сервера идентификации для Azure AD

Теперь ваше приложение зарегистрировано в Azure AD. Мы собираемся дважды проверить несколько вещей при регистрации приложения в Azure. Затем мы получим идентификатор клиента и идентификатор клиента и вставим их в наш файл конфигурации для Identity Server.

В Azure перейдите в раздел «Регистрация новых приложений» и выполните настройку «Регистрация нового приложения». В этой демонстрации это называется AzureSSODemo. На обзорной странице регистрации приложения вы найдете идентификатор клиента и идентификатор клиента справа вверху. Скопируйте и вставьте каждый из них в соответствующую область в файле конфигурации Sitecore Identity Server Azure AD:

· Не забудьте установить для параметра ‹Enabled› значение true.

· Сохраните файл конфигурации. Войдите в диспетчер IIS и перезапустите пул приложений для Identity Server.

· Теперь перейдите к своему экземпляру Sitecore. Подождите несколько секунд, но когда он загрузится и перенаправит вас на Identity Server, вы должны увидеть внизу кнопку Azure AD:

Прежде чем у вас возникнет соблазн нажать эту новую блестящую кнопку, нам нужно сделать еще один последний шаг.

Шаг 4: Добавление пользовательских преобразований

У нас все настроено и готово к работе. Однако нам нужно установить еще один параметр конфигурации в файле конфигурации Identity Server Azure AD: преобразования пользователей. Identity Server не распознает внешние учетные записи, поэтому, если вы попытаетесь войти в систему, используя свои учетные данные Azure AD, Identity Server не узнает, кто вы в Sitecore и какие у вас есть роль / разрешения. Затем он перенаправит вас обратно в оболочку Sitecore с душераздирающим сообщением о том, что аутентификация не удалась.

Чтобы решить эту проблему, мы создадим группу пользователей в Azure AD (если у вас ее еще нет), воспользуемся идентификатором объекта этой группы пользователей и вставим его в конфигурацию нашего сервера идентификации. файл для настройки преобразования.

И снова Sitecore предоставил нам образец такого преобразования в нижней части файла конфигурации. Мы просто воспользуемся одним из этих образцов. Для простоты мы возьмем преобразование AzureADUserToAdminUser. Просто скопируйте его из закомментированных примеров в конец конфигурационного файла под

‹! - Примеры трансформации →:

· Скопируйте этот раздел без тегов комментариев

· Вставьте его прямо под Строкой 30. Все, что нужно сделать, это скопировать идентификатор объекта группы / пользователя Azure AD и заменить значение по умолчанию для Claim1.

· Этот шаг необходим только в том случае, если у вас еще нет группы Azure AD, которую вы хотели бы использовать. Если нет, вам придется его создать. Вернитесь на портал Azure и перейдите в свою Azure AD. В меню слева нажмите Группы, а затем нажмите Новая группа вверху.

· Назовите группу как хотите для этой демонстрации. Я только что использовал имя регистрации приложения: AzureSSODemo. Сохраните все настройки по умолчанию и создайте группу. Теперь вы можете назначить этой группе пользователей из Azure AD. Все пользователи, назначенные этой группе, будут преобразованы в Sitecore Identity Server в качестве администраторов Sitecore.

· Мы скопируем идентификатор объекта этой группы и вставим его, заменив значение по умолчанию в преобразовании конфигурации сервера идентификации Значение утверждения1. Сохраните изменения в файле и еще раз перезапустите пул приложений Identity Server.

Шаг 5: важный момент

Теперь, когда у вас есть:

1. Включен файл конфигурации Azure AD Identity Server.

2. Добавлен clientID / objectId для регистрации вашего приложения в Azure.

3. Настройте параметр правила преобразования, используя идентификатор группового объекта в Azure, теперь пора все это протестировать.

· Перейдите к вашему экземпляру / оболочке Sitecore. Опять же, как только страница загрузится, вы увидите кнопку Azure AD. На этот раз щелкните по нему. Вы будете перенаправлены на страницу входа в Microsoft:

· Введите свою учетную запись Microsoft / адрес электронной почты Azure AD, а затем свой пароль. Нажмите Войти.

** Возможно, вас попросят оставаться в системе, и вы должны сделать этот звонок. **

· Наконец, если все было настроено правильно, вы будете перенаправлены обратно на Sitecore и войдете в систему:

Спасибо за чтение этого блога, и я надеюсь, что это руководство окажется полезным для вас и вашей компании.

Набил А.

Разработчик программного обеспечения

Решения Sitecore XP 9.2–9.3 сертифицированы | Сертификат Sitecore XC 9.2

Энтузиаст программирования ASP.NET