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

×

Поскольку предприятия все чаще полагаются на API для соединения сервисов и приложений, обеспечение безопасности этих каналов передачи данных становится крайне важным. В этом примере описывается, как мы внедрили надежную систему аутентификации с использованием JSON Web Token (JWT) для основного API Joomla нашего клиента, обеспечив ограничение доступа к API исключительно для зарегистрированных и аутентифицированных пользователей.

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

логотип карты варианта использования

Пользовательское расширение API для Joomla

Плагин Custom API позволяет создавать пользовательские конечные точки/REST-маршруты для получения/изменения/создания/удаления данных в Joomla.

Скачать расширение

Клиенту требовалось предоставить доступ к данным и функциональности своего сайта Joomla через API для использования во внешних приложениях. Однако стандартные средства контроля доступа были недостаточны для обеспечения безопасности. Основная задача заключалась в реализации API. Аутентификация JWT на основе пользователя система. Это означало, что доступ к API не мог быть открытым или основанным на простом статическом ключе API; он должен был предоставляться динамически только пользователям с действительными учетными данными для входа на сайт Joomla.

Мы разработали и внедрили пользовательский процесс аутентификации, который напрямую интегрируется с системой управления пользователями Joomla. Решение включало создание выделенная конечная точка API специально для генерации токенов JWTТакой подход гарантирует безопасную проверку каждого запроса к API без повторного раскрытия учетных данных пользователя.

Это решение на основе JWT предоставляет ряд преимуществ:

  • Усиленная безопасность: Токены имеют цифровую подпись и могут быть проверены сервером, что предотвращает несанкционированный доступ.
  • Без сохранения состояния и масштабируемость: Серверу не нужно хранить информацию о сессиях каждого пользователя, что делает API более эффективным и масштабируемым.
  • Контролируемый срок действия токена: Благодаря возможности установки срока действия, токены автоматически становятся недействительными по истечении определенного периода, что снижает риск неправомерного использования скомпрометированных токенов.
  • Полная интеграция: Он использует существующую базу данных пользователей Joomla, поэтому нет необходимости управлять отдельным набором учетных данных для доступа к API.

Процесс аутентификации был реализован в два отдельных этапа: генерация токена и проверка токена.

  • Генерация токенов:
    • Сначала пользователь должен запросить токен, отправив свои учетные данные на новую, защищенную конечную точку.
    • Этот запрос должен содержать их Joomla. username и passwordКроме того, предопределенный Секретный ключ и желаемый истечения срока должны быть поставлены.
    • Наша система проверяет имя пользователя и пароль по базе данных пользователей Joomla.
    • Если учетные данные верны, генерируется уникальный JWT, подписывается секретным ключом и отправляется обратно пользователю.
  • Доступ к API с помощью токена:
    • Для доступа к любой защищенной конечной точке API Joomla пользователь должен включить сгенерированный JWT в запрос. Авторизация заголовок их запроса.
    • Промежуточный слой на сайте Joomla перехватывает каждый вызов API, проверяет наличие действительного JWT-токена в заголовке и подтверждает его подпись и срок действия.
    • Если токен действителен, запрос обрабатывается. Если он отсутствует, недействителен или истек, API немедленно возвращает ответ. 401 Несанкционированный Ошибка, блокировка доступа.

Создав эту собственную систему аутентификации JWT, мы успешно защитили API Joomla клиента. Решение предоставляет современный, безопасный и масштабируемый метод аутентификации пользователей, напрямую связанный с существующей базой пользователей Joomla. Теперь клиент может уверенно подключать свой веб-сайт к другим сервисам и приложениям, зная, что его данные защищены и доступ строго контролируется для каждого пользователя.

  1. Пользовательская аутентификация API для Joomla
  2. Аутентификация Web3 для Joomla
  3. Защитный экран Joomla

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

мо-форма

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

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

Содержание

Привет!

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

поддержка