Интеграция Drupal и Azure AD B2C SSO с использованием OAuth / OpenID Connect
Обзор
Модуль Drupal OAuth Client позволяет Единая точка входа То есть, единый вход (SSO) для сайта Drupal с любым поставщиком идентификации, использующим протокол OAuth или OpenID Connect. Здесь мы рассмотрим шаги по настройке модуля с Azure AD B2C. После завершения этой настройки пользователи смогут входить на сайт Drupal, используя свои учетные данные Azure B2C.
Интеграция Drupal с Azure AD B2C упрощает и повышает безопасность процесса входа в систему, полностью устраняя необходимость хранения, запоминания и сброса множества паролей.
Процедура установки
- Предыдущая версия
- Новая версия
- Использование Композитора
- Использование Drush
- Ручная установка
- Загрузите модуль:
composer require 'drupal/miniorange_oauth_client'
- Перейдите в Продлить меню в консоли администратора Drupal и найдите Настройка клиента miniOrange OAuth используя строку поиска.
- Включите модуль, установив флажок и нажав на кнопку. Установите .
- Настроить модуль можно по следующему адресу:
{BaseURL}/admin/config/people/miniorange_oauth_client/config_clc
- Установите модуль:
drush в Drupal/miniorange_oauth_client
- Очистить кеш:
друш кр
- Настроить модуль можно по следующему адресу:
{BaseURL}/admin/config/people/miniorange_oauth_client/config_clc
Примечание: Ручная установка совместима только с Drupal 7, Drupal 8 и Drupal 9.
- Перейдите в Продлить меню в консоли администратора Drupal и нажмите Установите новый модуль.
- Установите Drupal. Вход через OAuth и OpenID Connect — вход через SSO-сервис клиента OAuth2 модуль, либо загрузив zip-архив, либо перейдя по URL-адресу пакет (tar/zip).
- Нажмите на Включить недавно добавленные модули.
- Включите этот модуль, установив флажок и нажав кнопку устанавливать .
- Настроить модуль можно по следующему адресу:
{BaseURL}/admin/config/people/miniorange_oauth_client/config_clc
- Использование Композитора
- Использование Drush
- Ручная установка
- Загрузите модуль:
composer require 'drupal/miniorange_oauth_client'
- Перейдите в Продлить меню в консоли администратора Drupal и найдите Настройка клиента miniOrange OAuth используя строку поиска.
- Включите модуль, установив флажок и нажав на кнопку. Установите .
- Настроить модуль можно по следующему адресу:
{BaseURL}/admin/config/people/mo-oauth-client/mo-client-config
- Установите модуль:
drush в Drupal/miniorange_oauth_client
- Очистить кеш:
друш кр
- Настроить модуль можно по следующему адресу:
{BaseURL}/admin/config/people/mo-oauth-client/mo-client-config
Примечание: Ручная установка совместима только с Drupal 7, Drupal 8 и Drupal 9.
- Перейдите в Продлить меню в консоли администратора Drupal и нажмите Установите новый модуль.
- Установите Drupal. Вход через OAuth и OpenID Connect — вход через SSO-сервис клиента OAuth2 модуль, либо загрузив zip-архив, либо перейдя по URL-адресу пакет (tar/zip).
- Нажмите на Включить недавно добавленные модули.
- Включите этот модуль, установив флажок и нажав кнопку устанавливать .
- Настроить модуль можно по следующему адресу:
{BaseURL}/admin/config/people/mo-oauth-client/mo-client-config
Шаги настройки
Настройте Drupal в качестве клиента OAuth.
- Перейдите на Конфигурация → Люди → Настройка клиента miniOrange OAuth в меню «Администрирование» (/admin/config/people/miniorange_oauth_client).
- На вкладке «Настройка OAuth» выберите нужного поставщика OAuth из выпадающего списка.
Примечание: Если нужный поставщик OAuth отсутствует в раскрывающемся списке, выберите его. Пользовательский поставщик OAuth / Пользовательский поставщик OpenID и продолжай.
- Скопируйте URL обратного вызова/перенаправления и держите его под рукой. Он понадобится при настройке поставщика OAuth.
- Введите имя поставщика OAuth в поле Display Name текстовое поле.
Примечание: Если ваш провайдер поддерживает только URL-адреса обратного вызова/перенаправления HTTPS, а у вас сайт с протоколом HTTP, обязательно включите флажок «Принудительное использование URL-адреса обратного вызова HTTPS» внизу вкладки.
Настройте Drupal в качестве клиента OAuth.
- Перейдите на Конфигурация → Люди → miniOrange OAuth Client в меню «Администрирование» (admin/config/people/mo-oauth-client/mo-client-config).
- В Управление раздел под Конфигурация клиента , нажмите + Добавить новый кнопка для настройки нужного клиента OAuth.
- Под Добавить На вкладке выберите нужное приложение OAuth из выпадающего списка.
Примечание: Если нужный поставщик OAuth отсутствует в раскрывающемся списке, выберите его. Пользовательский поставщик OAuth / Пользовательский поставщик OpenID и продолжай.
- Введите имя поставщика OAuth в поле Пользовательское название приложения текстовое поле. Скопируйте URL обратного вызова/перенаправления и держите его под рукой. Он понадобится при настройке поставщика OAuth.
- Если ваш провайдер поддерживает только URL-адреса обратного вызова/перенаправления HTTPS, а у вас сайт с протоколом HTTP, пожалуйста, проверьте следующее: Принудительное использование URL-адреса обратного вызова HTTPS флажок в Настройки меню.
- Портал Microsoft Azure
- Идентификатор Майкрософт Энтра
Создание приложения с единым входом (SSO) в Azure AD B2C:
- Войти в Microsoft Azure портал.
- В Службы Azure раздел, выберите Azure AD B2C.
- Чтобы создать новое приложение Azure AD B2C, перейдите в раздел Регистрация приложений недооценивают ее Управление в левой панели навигации нажмите на раздел, затем нажмите на Новая регистрация .
- В Зарегистрируйте заявку В этом окне введите необходимую информацию для создания нового приложения:
- ИмяВведите название приложения в поле Имя текстовое поле.
- Поддерживаемые типы учетных записейВыберите третий вариант. Учетные записи в любом организационном каталоге (для аутентификации пользователей в рамках пользовательских сценариев). Вы также можете обратиться к Помогите мне выбрать вариант, если он того стоит.
- Из издания Выберите платформу В выпадающем списке выберите «Веб». URI перенаправления (рекомендуется)Вставьте ранее скопированный текст. URL обратного вызова/перенаправления в текстовое поле.
- Нажмите на Зарегистрироваться на вебинар на украинском можно .
- Azure AD B2C присваивает вашему приложению уникальный идентификатор приложения. Скопируйте его. Идентификатор приложения (клиента)Это ваш идентификатор клиента.
- Теперь выберите Сертификаты и секреты на левой боковой панели, а затем нажмите на Секрет нового клиента кнопка для генерации секретного ключа клиента.
- Нажмите на Секрет нового клиента кнопка. в Добавить секретный ключ клиента Во всплывающем окне введите необходимую информацию:
- ОписаниеВведите описание этого секрета.
- ИстекаетВыберите срок действия этого секрета из выпадающего списка.
- Нажмите на Добавить .
- Скопируйте Значение из Секреты клиента вкладка. Это Секрет клиента.
- Нажмите на Azure AD B2C | Регистрация приложений ссылка в верхнем левом углу.
- Перейдите в Обзор вкладка на левой боковой панели.
- Под Предметы первой необходимости раздел, скопируйте Доменное имяЭто будет ваш идентификатор арендатора (Tenant-ID).
Создание приложения с единым входом (SSO) в Microsoft Azure AD B2C:
- Войти в Идентификатор Майкрософт Энтра портал.
- В строке поиска найдите Azure AD B2C. Выберите Azure AD B2C из результатов поиска.
- Чтобы создать новое приложение Azure AD B2C, перейдите в раздел Регистрация приложений недооценивают ее Управление в левой панели навигации нажмите на раздел, затем нажмите на Новая регистрация .
- В Зарегистрируйте заявку В этом окне введите необходимую информацию для создания нового приложения:
- ИмяВведите название приложения в поле Имя текстовое поле.
- Поддерживаемые типы учетных записейВыберите третий вариант. Учетные записи в любом организационном каталоге (для аутентификации пользователей в рамках пользовательских сценариев). Вы также можете обратиться к Помогите мне выбрать вариант, если он того стоит.
- Из издания Выберите платформу В выпадающем списке выберите «Веб». URI перенаправления (рекомендуется)Вставьте ранее скопированный текст. URL обратного вызова/перенаправления в текстовое поле.
- Нажмите на Зарегистрироваться на вебинар на украинском можно .
- Azure AD B2C присваивает вашему приложению уникальный идентификатор приложения. Скопируйте его. Идентификатор приложения (клиента)Это ваш идентификатор клиента.
- Теперь выберите Сертификаты и секреты на левой боковой панели, а затем нажмите на Секрет нового клиента кнопка для генерации секретного ключа клиента.
- В Добавить секретный ключ клиента Во всплывающем окне введите необходимую информацию:
- ОписаниеВведите описание этого секрета.
- ИстекаетВыберите срок действия этого секрета из выпадающего списка.
- Нажмите на Добавить .
- Скопируйте Значение из Секреты клиента вкладка. Это Секрет клиента.
- Нажмите на Azure AD B2C | Регистрация приложений ссылка в верхнем левом углу.
- Перейдите в Обзор вкладка на левой боковой панели.
- Под Предметы первой необходимости раздел, скопируйте Доменное имяЭто будет ваш идентификатор арендатора (Tenant-ID).
Создание политики потока пользователей в Azure AD B2C
- Перейдите на портал Microsoft Azure.
- Выберите Пользовательские потоки из Политика .
- Нажмите на Новый пользовательский сценарий .
- Выберите Зарегистрируйтесь и войдите в систему Карточка/блок для пользовательского сценария в Создайте сценарий взаимодействия пользователя. панели.
- Выберите Рекомендованные карта/коробка под Версия. Затем нажмите на Создавай .
- Введите следующую информацию в поле Создавай окна:
- Введите Имя в пользовательском потоке. Например, B2C_1_AzureB2CTest. (Это нельзя изменить после создания пользовательского потока.)
- Выберите Регистрация по электронной почте недооценивают ее Поставщики удостоверений.
- Выберите Многофакторная аутентификация Выберите вариант, соответствующий вашим потребностям. Если вы не уверены, оставьте вариант по умолчанию.
- Атрибуты пользователя и утверждения токеновВыберите данные и атрибуты, которые вы хотите собрать от пользователя в процессе регистрации. Нажмите кнопку. Показать больше Нажмите кнопку, чтобы отобразить дополнительные параметры. В Создавай во всплывающем окне убедитесь, что флажки включены для Ваш e-mail (в разделе «Собрать атрибуты») и Адреса электронной почты (в разделе «Заявка на возврат»). Вы также можете добавить любые другие необходимые атрибуты. Наконец, нажмите кнопку. Ok .
- Затем нажмите Создавай Кнопка для добавления пользовательского сценария. (Префикс B2C_1_ автоматически добавляется к имени.)
- Скопируйте Имя для потока пользователей. (Это название вашей политики)
Создание политики потока пользователей в Azure AD B2C
- Теперь выберите Пользовательские потоки из Политика .
- Нажмите на Новый пользовательский сценарий .
- Выберите Зарегистрируйтесь и войдите в систему Карточка/блок для пользовательского сценария в Создайте сценарий взаимодействия пользователя. панели.
- Выберите Рекомендованные под Версия раздел и нажмите на Создавай
- Введите следующую информацию в поле Создавай окна:
- Введите Имя в пользовательском потоке. Например, B2C_1_AzureB2CTest. (Это нельзя изменить после создания пользовательского потока.)
- Выберите Регистрация по электронной почте недооценивают ее Поставщики удостоверений.
- Выберите Многофакторная аутентификация Выберите вариант, соответствующий вашим потребностям. Если вы не уверены, оставьте вариант по умолчанию.
- Атрибуты пользователя и утверждения токеновВыберите данные и атрибуты, которые вы хотите собрать от пользователя в процессе регистрации. Нажмите кнопку. Показать больше Нажмите кнопку, чтобы отобразить дополнительные параметры. В Создавай во всплывающем окне убедитесь, что флажки включены для Адрес электронной почты (в разделе «Собрать атрибуты») и Адреса электронной почты (в разделе «Заявка на возврат»). Вы также можете добавить любые другие необходимые атрибуты. Наконец, нажмите кнопку. Ok .
- Затем нажмите Создавай Кнопка для добавления пользовательского сценария. (Префикс B2C_1_ автоматически добавляется к имени.)
- Скопируйте Имя для потока пользователей. (Это название вашей политики)
Интеграция Drupal с Azure AD B2C:
- Перейдите в модуль miniOrange OAuth Client.
- На вкладке «Настройка OAuth» вставьте скопированные идентификатор приложения (клиента) и секретный ключ клиента из Microsoft Entra ID в соответствующее поле. идентификатор клиента и Секрет клиента текстовое поле
- Замените ранее скопированный текст. Доменное имя с {имя арендатора} в Авторизация конечной точки и Конечная точка токена доступа текстовые поля в Drupal Настроить OAuth меню.
- Замените ранее скопированный текст. Имя с {policy-name} в Авторизация конечной точки и Конечная точка токена доступа текстовые поля.
- Флажок «Отправлять идентификатор клиента и секретный ключ в заголовке или теле запроса» позволяет указать, следует ли включать идентификатор клиента и секретный ключ в заголовок или тело запроса к конечной точке токена. Если вы не уверены, какой вариант выбрать, можете оставить настройки по умолчанию.
- Нажмите на флажок, чтобы Включить авторизацию с использованием OAuth.
- Теперь нажмите Сохранить конфигурацию .
| Объем: | OpenID |
| Авторизовать конечную точку: | https://{tenant-name}.b2clogin.com/{tenant-name}.onmicrosoft.com/{policy-name}/oauth2/v2.0/authorize |
| Конечная точка токена доступа: | https://{tenant-name}.b2clogin.com/{tenant-name}.onmicrosoft.com/{policy-name}/oauth2/v2.0/token |
Интеграция Drupal с Microsoft Entra ID:
- Перейдите в модуль miniOrange OAuth Client.
- In Добавить Нажмите клавишу Tab, вставьте скопированный текст. идентификатор клиента и Секрет клиента от Azur AD B2C в идентификатор клиента и Секрет клиента текстовое поле.
- Замените ранее скопированный текст. Доменное имя с {имя арендатора} в Авторизация конечной точки и Конечная точка токена доступа текстовые поля.
| Объем: | OpenID |
| Авторизовать конечную точку: | https://{tenant-name}.b2clogin.com/{tenant-name}.onmicrosoft.com/{policy-name}/oauth2/v2.0/authorize |
| Конечная точка токена доступа: | https://{tenant-name}.b2clogin.com/{tenant-name}.onmicrosoft.com/{policy-name}/oauth2/v2.0/token |
- Отправьте идентификатор клиента и секретный ключ в заголовке или теле сообщения. Флажок позволяет указать, следует ли включать идентификатор клиента (Client ID) и секретный ключ (Secret) в заголовок или в тело запроса к конечной точке токена. Если вы не уверены, какой вариант выбрать, можете оставить настройки по умолчанию.
- Нажмите на флажок, чтобы Включить авторизацию с использованием OAuthпрокрутите вниз и нажмите на Сохранение конфигурации .
Проверка соединения между Drupal и поставщиком OAuth.
- После успешного сохранения настроек, пожалуйста, нажмите на кнопку. Выполните настройку теста Кнопка для проверки соединения между Drupal и поставщиком OAuth.
- Во всплывающем окне «Конфигурация тестирования», если у вас нет активных сессий в этом же браузере, вам будет предложено войти в систему поставщика OAuth. После успешного входа в систему вам будет предоставлен список атрибутов, полученных от поставщика OAuth.
- Выберите Атрибут электронной почты Выберите из выпадающего меню адрес электронной почты пользователя и нажмите на Готово .
Примечание: Сопоставление атрибута Email обязательно для выполнения единого входа (SSO), то есть входа на сайт Drupal с использованием учетных данных поставщика OAuth.
- На Сопоставление атрибутов и ролей вкладка, пожалуйста, выберите Атрибут имени пользователя выберите из выпадающего списка и нажмите на Сохранить конфигурацию .
- Теперь выйдите из системы и перейдите на страницу входа на ваш сайт Drupal. Там вы автоматически найдете ссылку «Вход через OAuth Provider». Если вы хотите добавить ссылку SSO и на другие страницы, выполните действия, показанные на изображении ниже:
Проверка соединения между Drupal и поставщиком OAuth.
- После успешного сохранения настроек нажмите на кнопку. Выполните настройку теста Кнопка для проверки соединения между Drupal и поставщиком OAuth.
- Во всплывающем окне «Конфигурация тестирования», если у вас нет активных сессий в этом же браузере, вам будет предложено войти в систему поставщика OAuth. После успешного входа в систему вам будет предоставлен список атрибутов, полученных от поставщика OAuth.
- Нажмите на Настройка сопоставлений .
- На Отображение атрибутов вкладка, пожалуйста, выберите Атрибут электронной почты и Атрибут имени пользователя выберите из выпадающего списка и нажмите на Сохранить конфигурацию .
Примечание: Сопоставление атрибута Email обязательно для выполнения единого входа (SSO), то есть входа на сайт Drupal с использованием учетных данных поставщика OAuth.
- Теперь выйдите из системы и перейдите на страницу входа на ваш сайт Drupal. Там вы автоматически найдете ссылку «Вход через OAuth Provider». Если вы хотите добавить ссылку SSO и на другие страницы, выполните действия, показанные на изображении ниже:
Нужна помощь?
Если у вас возникнут какие-либо проблемы во время настройки или вам потребуются дополнительные функции, пожалуйста, свяжитесь с нами по адресу [указать адрес электронной почты или контактные данные]. drupalsupport@xecurify.com.
Дополнительные функции:
-
Сопоставление атрибутов — сопоставление атрибутов пользователя, полученных от поставщика OAuth, с полями Drupal.
-
Сопоставление ролей — назначение пользователям роли Drupal на основе их роли/атрибута в поставщике OAuth.
-
Включить единый выход из системы — выход пользователя из системы через поставщика OAuth (например, AWS Cognito, Azure AD B2C, Keycloak, Okta) при выходе из Drupal.
-
Ограничить анонимный доступ ко всему сайту или к определенному его разделу.
-
Добавление нескольких поставщиков OAuth
-
Изучите все возможности, предлагаемые клиентом OAuth.
Поиск и устранение неисправностей:
Дополнительные часто задаваемые вопросы ➔Получаю ошибку: «Имя пользователя не получено. Проверьте конфигурацию сопоставления атрибутов». ИЛИ Получаю ошибку: «Электронное письмо не получено. Проверьте конфигурацию сопоставления атрибутов».
Выполните указанные шаги ВОТ
У меня появляется сообщение "Учетные данные клиента не найдены в заголовках или теле сообщения".
когда я пытаюсь выполнить настройку тестовой конфигурации
Выполните указанные шаги ВОТ
После нажатия на кнопку «Выход» в Drupal меня перенаправляет обратно на главную страницу Drupal. Однако, когда я пытаюсь войти под другим пользователем, система не запрашивает авторизацию, а автоматически авторизует меня под тем же пользователем.
Упомянутая вами функция выхода из системы — это стандартное поведение модуля. Она выходит из Drupal, но не из вашего приложения/провайдера. Чтобы модуль мог выходить из вашей учетной записи провайдера/приложения (что вам и нужно), необходимо выполнить следующие настройки: [узнать больше]
Я приобрел платный модуль Drupal и заменил его бесплатным, но все равно не могу использовать платные функции.
Поскольку вы перешли на одну из наших платных версий модуля Drupal и заменили бесплатный модуль на платный, вам необходимо сначала активировать платный модуль. Пожалуйста, ознакомьтесь с приведенными ниже шагами. [Узнать больше]
Спасибо за ваш ответ. Мы свяжемся с вами в ближайшее время.
Что-то пошло не так. Пожалуйста, отправьте запрос ещё раз.
Мы свяжемся с вами в ближайшее время!
Круглосуточная поддержка
Разработчики Drupal из miniOrange предлагают быструю и активную поддержку по вашим вопросам. Мы поможем вам выбрать оптимальное решение для вашей конкретной задачи.
Сферы деятельности
Компания miniOrange успешно реализовала проекты более чем 400 своих проверенных клиентов, предложив им высокогибкие и настраиваемые решения на базе Drupal.
Другие решения
Ознакомьтесь с другими решениями для Drupal, которые мы предлагаем. Среди популярных решений, используемых нашими постоянными клиентами, можно выделить двухфакторную аутентификацию, управление учетными записями пользователей и безопасность веб-сайта.

Свяжитесь с нами