Единый вход (SSO) в Drupal с использованием пользовательского поставщика OAuth 2.0 / OpenID Connect.
Обзор
Интеграция Drupal OAuth 2.0 / OpenID Connect (OIDC) SSO обеспечивает единый вход (SSO) между сайтом Drupal и любым поставщиком идентификации. Эта интеграция достигается за счет miniOrange OAuth Client Модуль, совместимый с Drupal 7, Drupal 8, Drupal 9, Drupal 10, а также Drupal 11.
Этот модуль позволяет внешнему поставщику аутентификации OpenID Connect авторизовать и авторизовать пользователей на сайте Drupal. Ознакомьтесь с этапами интеграции с некоторыми популярными поставщиками OAuth/OpenID, такими как Azure AD, Azure AD B2C, Keycloak, Okta, Salesforce, Active Directory Federation Services (AD FS), AWS Cognito, Auth0, Microsoft Office 365, Github, Gitlab, OneLogin, Ping Identity, FusionAuth, WSO2 Identity Server, Bitbucket, Fitbit, Gluu, Onelogin, WildApricot, WHMCS, ForgeRock Identity Platform и многими другими.
Модуль также совместим с такими социальными сетями авторизации, как Google, Discord, Slack, LinkedIn, Facebook, Instagram, Apple, Amazon, Yahoo, Pinterest, Snapchat и Twitter (X).
В этом документе мы рассмотрим шаги по настройке модуля:
Примечание: Ручная установка совместима только с Drupal 7, Drupal 8 и Drupal 9.
Перейдите в Продлить меню в консоли администратора Drupal и нажмите Установите новый модуль.
Установите Drupal. Вход через OAuth и OpenID Connect — вход через SSO-сервис клиента OAuth2
модуль, либо загрузив zip-архив, либо перейдя по URL-адресу пакет (tar/zip).
Нажмите на Включить недавно добавленные модули.
Включите этот модуль, установив флажок и нажав кнопку устанавливать .
Примечание: Ручная установка совместима только с Drupal 7, Drupal 8 и Drupal 9.
Перейдите в Продлить меню в консоли администратора Drupal и нажмите Установите новый модуль.
Установите Drupal. Вход через OAuth и OpenID Connect — вход через SSO-сервис клиента OAuth2
модуль, либо загрузив zip-архив, либо перейдя по URL-адресу пакет (tar/zip).
Нажмите на Включить недавно добавленные модули.
Включите этот модуль, установив флажок и нажав кнопку устанавливать .
Перейдите на Конфигурация → Люди → Настройка клиента miniOrange OAuth
в меню «Администрирование» (/admin/config/people/miniorange_oauth_client).
На вкладке «Настройка OAuth» выберите нужного поставщика OAuth из выпадающего списка.
Примечание: Если нужный поставщик OAuth отсутствует в раскрывающемся списке, выберите его.
Пользовательский поставщик OAuth / Пользовательский поставщик OpenID и продолжай.
Скопируйте URL обратного вызова/перенаправления и держите его под рукой. Он понадобится при настройке поставщика OAuth.
Примечание: Если ваш провайдер поддерживает только URL-адреса обратного вызова/перенаправления HTTPS, а у вас сайт с протоколом HTTP, обязательно включите флажок «Принудительное использование URL-адреса обратного вызова HTTPS» внизу вкладки.
Введите имя поставщика OAuth в поле Display Name текстовое поле.
Настройте 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 флажок в Настройки
меню.
Интеграция Drupal с поставщиком идентификации.
Настройте URL-адрес обратного вызова/перенаправления в вашем поставщике идентификации (IdP) и выполните следующие шаги.
Добавьте указанные ниже данные на сайт Drupal (вы получите их от поставщика OAuth).
идентификатор клиента
Уникальный идентификатор для клиентского приложения OAuth 2.
Секрет клиента
Конфиденциальная информация, используемая для аутентификации клиента.
Объем
Объем доступа, запрашиваемый клиентом у пользователя и сервера авторизации.
Авторизовать конечную точку:
URL-адрес, по которому пользователь проходит аутентификацию и предоставляет разрешения клиенту.
Конечная точка токена доступа:
URL-адрес, по которому клиент обменивает код авторизации на токен доступа.
Конечная точка для получения информации о пользователе:
Дополнительный URL-адрес для получения информации о пользователе.
Флажок «Отправлять идентификатор клиента и секретный ключ в заголовке или теле запроса» позволяет указать, следует ли включать идентификатор клиента и секретный ключ в заголовок или тело запроса к конечной точке токена. Если вы не уверены, какой вариант выбрать, можете оставить настройки по умолчанию.
Нажмите на флажок, чтобы Включить авторизацию с использованием OAuthпрокрутите вниз и нажмите на Сохранение конфигурации
.
Интеграция Drupal с поставщиком идентификации:
Настройте URL-адрес обратного вызова/перенаправления в вашем поставщике идентификации (IdP) и выполните следующие шаги.
Добавьте указанные ниже данные на сайт Drupal (вы получите их от поставщика OAuth).
идентификатор клиента
Уникальный идентификатор для клиентского приложения OAuth 2.
Секрет клиента
Конфиденциальная информация, используемая для аутентификации клиента.
Объем
Объем доступа, запрашиваемый клиентом у пользователя и сервера авторизации.
Авторизовать конечную точку:
URL-адрес, по которому пользователь проходит аутентификацию и предоставляет разрешения клиенту.
Конечная точка токена доступа:
URL-адрес, по которому клиент обменивает код авторизации на токен доступа.
Конечная точка для получения информации о пользователе:
Дополнительный URL-адрес для получения информации о пользователе.
Отправьте идентификатор клиента и секретный ключ. Флажок позволяет указать, следует ли включать идентификатор клиента (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.
У меня появляется сообщение "Учетные данные клиента не найдены в заголовках или теле сообщения". когда я пытаюсь выполнить настройку тестовой конфигурации
После нажатия на кнопку «Выход» в Drupal меня перенаправляет обратно на главную страницу Drupal. Однако, когда я пытаюсь войти под другим пользователем, система не запрашивает авторизацию, а автоматически авторизует меня под тем же пользователем.
Упомянутая вами функция выхода из системы — это стандартное поведение модуля. Она выходит из Drupal, но не из вашего приложения/провайдера. Чтобы модуль мог выходить из вашей учетной записи провайдера/приложения (что вам и нужно), необходимо выполнить следующие настройки: [узнать больше]
Я приобрел платный модуль Drupal и заменил его бесплатным, но все равно не могу использовать платные функции.
Поскольку вы перешли на одну из наших платных версий модуля Drupal и заменили бесплатный модуль на платный, вам необходимо сначала активировать платный модуль. Пожалуйста, ознакомьтесь с приведенными ниже шагами. [Узнать больше]
Спасибо за ваш ответ. Мы свяжемся с вами в ближайшее время.
Что-то пошло не так. Пожалуйста, отправьте запрос ещё раз.
Мы свяжемся с вами в ближайшее время!
Спасибо за ваш ответ. Мы свяжемся с вами в ближайшее время.
Что-то пошло не так. Пожалуйста, отправьте запрос ещё раз.
Мы свяжемся с вами в ближайшее время!
×
Привет!
Нужна помощь? Мы здесь!
Обратитесь в службу поддержки miniOrange.
Благодарим Вас за запрос.
Если вы не получите от нас ответа в течение 24 часов, пожалуйста, отправьте нам повторное письмо по адресу [адрес электронной почты]. info@xecurify.com
Запрос не выполнен.
Пожалуйста, попробуйте отправить электронное письмо по адресу... info@xecurify.com