Об аутентификации

Система поддерживает аутентификацию запросов по авторизационным токенам (JSON Web Token, также JWT).

Если в системе включена аутентификация, каждый запрос должен содержать авторизационный токен. Система проверяет предоставленный авторизационный токен и исполняет запрос, только если токен корректен и достоверен, а отправитель запроса имеет необходимые полномочия.

После проверки авторизационного токена его значение sub записывается в лог-сообщения как часть идентификатора запроса. Используя идентификатор запроса, можно сопоставить запросы с их отправителями.

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

JVM-метрики, а также метод /swagger-ui доступны без аутентификации.

Порядок проверки авторизационного токена

Нода проверяет авторизационный токен в следующем порядке:

  1. Декодирует токен и получает доступ к данным токена: к подписи, алгоритму подписи, идентификатору публичного ключа и другим данным.
  2. Находит в кэше публичный ключ с соответствующим идентификатором и с его помощью проверяет подпись токена.
  3. Проверяет параметры токена: поля exp, nbf, iat и другие.
  4. Отклоняет запрос, если токен не прошел проверку по любому из параметров.