Verification: 0b1f825c59cb1802
:: База знаний :: База знаний

Аутентификация по внешнему API

AxelNAC поддерживает вызов внешнего HTTP API в качестве источника аутентификации. Использование внешнего API позволяет реализовать как аутентификацию, так авторизацию пользователей.

Аутентификация

В результате аутентификации должна быть получена информация о том, является ли комбинация имя пользователя/пароль действительной. Эта информация доступна через поля POST-запроса. В ответ сервер должен предоставить два атрибута в JSON-ответе:

  • result: результат должен иметь значения: 1 для успешной аутентификации, 0 для неуспешной аутентификации;
  • message: сообщение должно описывать причину успешной или неуспешной аутентификации.

Пример JSON-ответа:

{"result":1, "message": "Valid username and password"}

Авторизация

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

  • access_duration;
  • access_level;
  • sponsor;
  • unregdate;
  • category.

Ниже приведен пример JSON-ответа. Обратите внимание, что не все атрибуты являются необходимыми, отправлять нужно только те, которые требуются:

{"access_duration":"1D","access_level":"ALL","sponsor":1
,"unregdate":"2030—01—01","category":"default"
 

Пример реализации, совместимой с AxelNAC можно найти в файле /usr/local/pf/addons/example_external_auth.

Настройка источника аутентификации в AxelNAC

Для использования внешнего API для аутентификации, выполните следующие действия:

Шаг 1. Перейдите в раздел Конфигурация → Политики и контроль доступа → Источники аутентификации и нажмите Новый внутренний источник, после чего в выпадающем списке выберите HTTP.

Шаг 2. В открывшемся окне конфигурации заполните поля следующим образом:

  • Имя — укажите имя для источника аутентификации;
  • Описание — укажите описание источника аутентификации. Описание будет отображаться в списке созданных источников аутентификации;
  • Путь к файлу — сначала указывается протокол, затем IP-адрес или имя хоста API и, наконец, порт для подключения к API;
  • Имя пользователя и пароль API — если в API реализована базовая аутентификация HTTP (RFC 2617), вы можете добавить имя пользователя и пароль в эти поля. Если оставить любое из этих двух полей пустым, AxelNAC будет выполнять запросы без какой-либо аутентификации;
  • URL аутентификации — URL хоста, использующийся для вызова аутентификации пользователя. Обратите внимание, что перед ним автоматически ставится косая черта;
  • URL авторизации — URL хоста, использующийся для вызова авторизации пользователя. Обратите внимание, что перед ним автоматически ставится косая черта;
  • Связанные области — области, которые будут связаны с данным источником аутентификации.
ID статьи: 65
Последнее обновление: 26 июн., 2024
Ревизия: 1
Доступ: Открытый доступ
Просмотры: 50
Комментарии: 0


Этот веб-сайт использует куки-файлы, чтобы обеспечить вам максимальное удобство работы. Узнать больше