Об аутентификации
Система поддерживает аутентификацию запросов по авторизационным токенам (JSON Web Token, также JWT).
Если в системе включена аутентификация, каждый запрос должен содержать авторизационный токен. Система проверяет предоставленный авторизационный токен и исполняет запрос, только если токен корректен и достоверен, а отправитель запроса имеет необходимые полномочия.
После проверки авторизационного токена его значение sub
записывается в лог-сообщения как часть идентификатора запроса. Используя идентификатор запроса, можно сопоставить запросы с их отправителями.
Система не создает авторизационные токены и публичные ключи для токенов. Для создания ключей и токенов используйте любой авторизационный сервис, поддерживающий стандарт JWT, например Keycloak.
JVM-метрики, а также метод /swagger-ui доступны без аутентификации.
Порядок проверки авторизационного токена
Нода проверяет авторизационный токен в следующем порядке:
- Декодирует токен и получает доступ к данным токена: к подписи, алгоритму подписи, идентификатору публичного ключа и другим данным.
- Находит в кэше публичный ключ с соответствующим идентификатором и с его помощью проверяет подпись токена.
- Проверяет параметры токена: поля
exp
,nbf
,iat
и другие. - Отклоняет запрос, если токен не прошел проверку по любому из параметров.