Настройка аутентификации с использованием внешнего поставщика идентификации в Drupal
Метод аутентификации с использованием внешнего поставщика удостоверений позволяет защитить и ограничить доступ к вашим REST API Drupal, используя токены от сторонних поставщиков, таких как Google, Azure AD, Keycloak, Okta или GitLab. Интегрируясь с вашим поставщиком удостоверений, этот метод гарантирует, что доступ к вашим API Drupal смогут получить только аутентифицированные пользователи. Токен доступа, используемый в этом методе, получается исключительно от внешнего поставщика удостоверений (IdP). Аутентификация через API Drupal Модуль поддерживает Drupal 8, 9, 10 и 11.
- Использование Композитора
- Использование Drush
- Ручная установка
Предпосылки:
- REST UIЭтот модуль предоставляет удобный интерфейс для настройки модуля REST.
- Включите следующие модули веб-сервисов в Продлить раздел (/admin/modules) вашего сайта Drupal:
- JSON: API
- REST UI
- Веб-службы RESTful
- Сериализация
Включите API и назначьте методы:
- Первый шаг — включить API и назначить разрешенные для него методы и операции. Это можно сделать с помощью... REST UI либо путем непосредственного изменения конфигурации Drupal.
- Нажмите на Включить API .
- Чтобы включить API с помощью модуля REST UI, нажмите на кнопку. Настроить кнопка (как показано ниже).
- В нашем примере нам необходимо включить /entity/user API. Для этого нажмите кнопку «Включить» напротив него.
- Поскольку наша цель — создать пользователя в Drupal, выберите следующие параметры конфигурации:
- Метод: POST
- Формат: JSON
- Поставщик аутентификации: rest_api_authentication
- Это позволяет модулю аутентификации API miniOrange аутентифицировать API. Нажмите на кнопку. Сохранение конфигурации Кнопка продолжить.
Шаги настройки
1. Настройка метода аутентификации внешнего поставщика удостоверений:
- На этом этапе мы выполним настройку. Внешний поставщик удостоверений в качестве аутентификации API. Для этого перейдите по ссылке... Аутентификация API вкладка модуля (/admin/config/people/rest_api_authentication/auth_settings).
- Под Базовая конфигурация, включите Включить проверку подлинности переключения.
- Введите Имя приложения и Внешний поставщик удостоверений из Метод аутентификации .
- Прокрутите вниз до Конфигурация внешнего поставщика идентификации раздел на той же вкладке.
- Введите Конечная точка информации о пользователе укажите в соответствующем поле данные вашего поставщика идентификации, чтобы модуль мог получить информацию о пользователе, используя предоставленный токен.
- В Атрибут имени пользователяВведите ключ или имя атрибута из вашего поставщика идентификации, содержащее имя пользователя, отправленное внешним поставщиком.
- Нажмите Сохранить конфигурацию .
- Вы успешно настроили метод внешнего поставщика удостоверений.
Примечание: При аутентификации API используйте уникальный заголовок, специфичный для данного приложения.
Предоставить права доступа для создания пользователей.
- При необходимости вы можете разрешить пользователям, не являющимся администраторами, создавать пользователей в Drupal. Для этого назначьте нужным пользователям разрешение «Администрировать пользователей» на странице разрешений (/admin/people/permissions) вашего сайта Drupal.
2. Пример:
- Для лучшего понимания рассмотрим пример добавления аутентификации на основе внешнего поставщика идентификации (External Identity Provider) к API создания пользователя в Drupal.
- Для создания пользователя в Drupal отправьте POST-запрос вместе с токеном, полученным от вашего поставщика идентификации.
Примечание: API /entity/user в Drupal используется для создания нового пользователя.
HTML-формат запроса - Запрос: POST /entity/user?_format=json Заголовок: AUTH-METHOD: application_id Токен: Accept: application/json Content-Type: application/json Body: { "name": { "value": " " }, "mail": { "value": " " }, "pass": { "value": " " }, "status": { "value": "1" } } Формат запроса CURL - curl --location --request POST ' /entity/user?_format=json' \ --header 'AUTH-METHOD: application_id' \ --header 'Token: ' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --data-raw ' { "name": [ { "value": "Username" } ], "mail": [ { "value": "email" } ], "pass": [ { "value": "Password" } ], "status": [ { "value": "1" } ] }
- В случае успешного ответа будут возвращены данные созданного вами пользователя (см. изображение ниже).
Поздравляем! Вы успешно настроили метод внешнего поставщика идентификации с помощью модуля аутентификации API Drupal.
Если настройка не удалась, пожалуйста, свяжитесь с нами по адресу: drupalsupport@xecurify.comПожалуйста, приложите скриншот окна с ошибкой, и мы поможем вам решить проблему и проведем вас через процесс настройки.
Спасибо за ваш ответ. Мы свяжемся с вами в ближайшее время.
Что-то пошло не так. Пожалуйста, отправьте запрос ещё раз.
