Результаты поиска :

×

Настройка JWT-аутентификации в Drupal

Аутентификация через API Drupal Этот модуль использует JSON Web Tokens (JWT) для безопасной аутентификации запросов к API. Сначала проверяются ваше имя пользователя и пароль Drupal для генерации подписанного токена JWT, который затем возвращается клиенту. Этот токен можно использовать для доступа к API Drupal до истечения срока его действия. JWT поддерживает алгоритмы HSA и RSA для подписи и проверки. Этот модуль полностью совместим с Drupal 8, Drupal 9, Drupal 10 и Drupal 11.

  • Загрузите модуль:

    composer require 'drupal/rest_api_authentication'

  • Перейдите в Продлить меню в консоли администратора Drupal и найдите Аутентификация через REST и JSON API используя строку поиска.
  • Включите модуль, установив флажок и нажав на кнопку. Установите .
  • Настроить модуль можно по следующему адресу:

    {BaseURL}/admin/config/people/rest_api_authentication/auth_settings

  • Установите модуль:
    drush en drupal/rest_api_authentication
  • Очистить кеш:

    друш кр

  • Настроить модуль можно по следующему адресу:

    {BaseURL}/admin/config/people/rest_api_authentication/auth_settings

Примечание и контактная информация - единый вход (SSO) между двумя сайтами WordPress

Примечание: Ручная установка поддерживается только до Drupal 7 включительно. Для Drupal 8 и выше необходимо использовать Composer для установки и управления проектами.


  • Перейдите в Продлить меню в консоли администратора Drupal и нажмите Установите новый модуль.
  • Установите Drupal. Аутентификация API miniOrange модуль, либо загрузив zip-архив, либо перейдя по URL-адресу пакет (tar/zip).
  • Нажмите на Включить недавно добавленные модули.
  • Включите этот модуль, установив флажок и нажав кнопку устанавливать .
  • Настроить модуль можно по следующему адресу:

    {BaseURL}/admin/config/people/rest_api_authentication/auth_settings

  • REST UIЭтот модуль предоставляет удобный интерфейс для настройки модуля REST.
  • Включите следующие модули веб-сервисов в Продлить раздел (/admin/modules) вашего сайта Drupal:
    • JSON: API
    • REST UI
    • Веб-службы RESTful
    • Сериализация
Установите модули для аутентификации API Drupal.

  • Первый шаг — включить API и назначить разрешенные для него методы и операции. Это можно сделать с помощью... REST UI либо путем непосредственного изменения конфигурации Drupal.
  • Нажмите на Включить API .
  • Чтобы включить API с помощью модуля REST UI, нажмите на кнопку. Настроить кнопка (как показано ниже).
Настройка аутентификации API Drupal через REST UI

  • В нашем примере нам необходимо включить /entity/user API. Для этого нажмите кнопку «Включить» напротив него.
Ресурсы пользователя для аутентификации API Drupal

  • Поскольку наша цель — создать пользователя в Drupal, выберите следующие параметры конфигурации:
    • Метод: POST
    • Формат: JSON
    • Поставщик аутентификации: rest_api_authentication
  • Это позволяет модулю аутентификации API miniOrange аутентифицировать API. Нажмите на кнопку. Сохранение конфигурации Кнопка продолжить.
Настройки ресурсов аутентификации API Drupal

  • На этом шаге мы настроим JWT в качестве метода аутентификации API. Для этого перейдите по ссылке... Аутентификация API вкладка модуля (/admin/config/people/rest_api_authentication/auth_settings).
    • Под Базовая конфигурация, включите Включить проверку подлинности переключения.
    • Введите Имя приложения и ДЖ.В.Т. из Метод аутентификации .
Аутентификация API Drupal: включение базовой аутентификации.

  • Прокрутите вниз до Конфигурация JWT раздел на той же вкладке.
    • В поле «Атрибут имени пользователя» введите имя атрибута из полученного JWT-файла, содержащего имя пользователя Drupal.
    • Выберите Алгоритм подписания из выпадающего списка.
    • Необязательно: укажите желаемый срок действия (в минутах) в соответствующем поле. Время истечения срока действия токена.
    • URI JWKS: Если вы хотите использовать внешний JWT-токен, укажите URI JWKS для его проверки в Drupal.
    • Сертификат/Секретный ключ: При выборе RS256 необходимо предоставить сертификат, а при выборе HS256 — секретный ключ.
    Примечание и контактная информация

    Примечание: Вы можете ввести ключи вручную или сгенерировать их. Эти ключи будут использоваться для подписи и проверки токенов JWT.


    • Закрытый ключ: Введите закрытый ключ для JWT или сгенерируйте новый ключ.
    • Открытый ключ: Введите открытый ключ для JWT или сгенерируйте новый ключ.
    • Нажмите Сохранить конфигурацию .
    Аутентификация API Drupal. Введите имя пользователя для создания ключа API.

    • Вы успешно настроили метод аутентификации JWT.
    • Примечание и контактная информация

      Примечание: При аутентификации API используйте уникальный заголовок, специфичный для данного приложения.

    Метод базовой аутентификации API Drupal успешно настроен.

    • Прежде всего, нам нужно сделать вызов API, чтобы получить JWT. Затем мы будем использовать этот токен для аутентификации в Drupal API при создании пользователя.
    • JWT можно получить, отправив POST-запрос, содержащий имя пользователя и пароль Drupal. Имя пользователя и пароль необходимо отправить в формате base64. Для справки можно использовать приведенный ниже формат запроса.
    • Запрос: POST /rest_api/id_token Заголовок: Accept: application/json Authorization: Basic base64encoded Формат запроса CURL: `curl --location --request POST '` /rest_api/id_token' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --header 'Authorization: Basic base64encoded '
      
    • Вы также можете обратиться к изображению запроса Postman, показанному ниже.
    Метод базовой аутентификации API Drupal успешно настроен.

    • В случае успешного ответа возвращается JWT вместе с датой истечения срока действия токена. (см. изображение ниже)
    Токен JWT для аутентификации API Drupal успешно настроен.

    • Для лучшего понимания рассмотрим пример использования JWT-токена для создания пользователя в Drupal с помощью REST API.
    • Примечание и контактная информация

      Примечание: API /entity/user в Drupal используется для создания нового пользователя.


    • Для создания пользователя в Drupal необходимо отправить POST-запрос, используя полученный JWT или внешний JWT в качестве токена Bearer в заголовке Authorization. Пример выполнения запроса приведен ниже.
    • HTML-формат запроса - Запрос: POST /entity/user?_format=json Заголовок: AUTH-METHOD: application_id Accept: application/json Content-Type: application/json Authorization: Bearer received_JWT Тело: { "name": { "value": " " }, "mail": { "value": " " }, "pass": { "value": " " }, "status": { "value": "1" } } Формат запроса CURL - curl --location --request POST ' /entity/user?_format=json' \ --header 'AUTH-METHOD: application_id' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --header 'Authorization: Authorization: Bearer ' \ --data-raw ' { "name": [ { "value": "Username" } ], "mail": [ { "value": "email" } ], "pass": [ { "value": "Password" } ], "status": [ { "value": "1" } ] }
      
    • Вы также можете обратиться к изображению запроса Postman, показанному ниже.
    Аутентификация API Drupal, запрос Postman

    Аутентификация API Drupal, тело запроса Postman

    • В случае успешного ответа будут возвращены данные созданного вами пользователя (см. изображение ниже).
    Аутентификация API Drupal. Ответ Postman создан для пользователя.

    Поздравляем! Вы успешно настроили метод аутентификации JWT с помощью модуля аутентификации API Drupal.

    Если настройка не удалась, пожалуйста, свяжитесь с нами по адресу: drupalsupport@xecurify.comПожалуйста, приложите скриншот окна с ошибкой, и мы поможем вам решить проблему и проведем вас через процесс настройки.


     Спасибо за ваш ответ. Мы свяжемся с вами в ближайшее время.

    Что-то пошло не так. Пожалуйста, отправьте запрос ещё раз.

    Мы свяжемся с вами в ближайшее время!


ADFS_sso ×
Привет!

Нужна помощь? Мы здесь!

поддержка