Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Column

Eltex-doors является сервисом аутентификации, который выполняет проверку подлинности пользователя, созданием токена и верификацией токена.

Eltex-doors формирует токен JWT на основе переданного POST-запроса содержащий логин, пароль, а также  метаданные.

Подсказка

JWT(JSON Web Token) -  JSON-объект, определен в RFC 7519

Сгенерированные токены хранятся в БД eltex-doors, таблица auth_token.  По истечению, заданного в конфигурационном файле, времени (token.expire.timeout), выполняется очистка устаревших токенов из БД. Для добавления необходимых данных в БД Mysql необходимо установить пакет eltex-doors-db.

Параметры "срок действия токена{iat}" и "время создания токена{exp}" указаны в payload токена. Их можно узнать выполнив декодирование токена.


С версии 1.15 появилась возможность валидировать токены без дополнительного обращения к doors.  При установке или обновлении генерируются открытый и закрытый ключ, которые по умолчанию размещаются в каталоге  /etc/eltex-doors/keys/.

Для того, чтобы к приватному ключу имели доступ только доверенные сервисы, ключам назначаются права 440 и принадлежность группе eltex:

Блок кода
themeRDark
-r--r----- 1 root eltex 1704 Sep 19 10:44 private.pem
-r--r----- 1 root eltex  451 Sep 19 10:44 public.pem

private.pem - ключ необходимый для подписи JWT-токенов.

public.pem - ключ необходимый сервисам для валидации JWT-токенов.

Если по какой-либо причине необходимо пересоздать ключи, то можно запусить скрипт, который находится в каталоге /usr/share/eltex-doors/gen_keys.sh

Предупреждение

После генерации новых ключей, необходимо ключ public.pem  заново передать сервисам

При первом обращении за JWT к Doors, сервис выдаёт два токена: access и refresh. Access token имеет короткий срок жизни и используется непосредственно для доступа к сервисам. Refresh token же живёт значительно дольше и используется только для получения нового access token. Такая схема позволяет быстро прекратить доступ к ресурсам в случае утечки access token.

Срок жизни токенов определяется в файле конфигурации сервиса Eltex Doors и по умолчанию составляет 15 минут для access и 30 дней для refresh.

По истечении срока жизни access token внешний сервис должен будет обратиться к Eltex Doors за новым access token, предъявив при этом refresh token.


Установка

...

Для работы сервиса необходима установка схемы на сервер БД:

Блок кода
languagebash
themeRDark
# apt install eltex-doors-db

Установка сервиса:

Блок кода
languagebash
themeRDark
# apt install eltex-doors


Управление сервисом

...

Способы запуска/остановки

ДействиеКомандаОтвет
Проверка состоянияservice eltex-doors status

Сервис запущен

Подсказка

Active: active (running)

Cервис не запущен

Предупреждение

Active: failed


Запуск сервисаservice eltex-doors start

Сервис успешно запущен

Подсказка

Active: active (running)


Остановка сервисаservice eltex-doors stop

Сервис успешно остановлен

Подсказка

Active: failed


Перезапуск сервисаservice eltex-doors restart

Сервис успешно перезапущен

Подсказка

Active: active (running)



Доступные методы AP

Eltex Doors предоставляет следующие методы:

...