auth_jwt_extract_var_claims

Директива `auth_jwt_extract_var_claims` извлекает указанные claims из JWT и делает их доступными в виде переменных NGINX.

Синтаксисauth_jwt_extract_var_claims claim_name1 claim_name2 ...;
По умолчаниюnone
Контекстhttp, server, location
Аргументы1+

Описание

Директива auth_jwt_extract_var_claims используется для извлечения конкретных claims из JWT (JSON Web Token) и сохранения их как переменные NGINX, которые можно использовать в конфигурации NGINX. Эта директива требует в качестве аргумента список имён claims, разделённых пробелами, и эти claims будут обрабатываться при валидации JWT. Например, если указать эту директиву для извлечения claims sub и exp, вы сможете затем получить к ним доступ в конфигурации как $jwt_claim_sub и $jwt_claim_exp соответственно.

Эта директива может применяться в контекстах http, server или location, что даёт гибкость при развертывании аутентификации на основе JWT и извлечения claims в архитектуре сервиса. При использовании совместно с другими директивами, такими как auth_jwt_enabled, она обеспечивает высоконастраиваемый механизм обработки JWT, позволяющий NGINX динамически оценивать и включать в обработку запроса пользовательские claims, связанные с безопасностью.

Пример конфига

location /secure {
    auth_jwt_enabled on;
    auth_jwt_key /path/to/your.key;
    auth_jwt_extract_var_claims sub exp;
    proxy_pass http://backend;
}

Убедитесь, что имена полей (claims) написаны правильно и соответствуют ожидаемым в JWT.

Извлечённые поля (claims) становятся доступными только после успешной проверки JWT; недействительные токены не приведут к извлечению полей.

Будьте осторожны при извлечении конфиденциальных полей (claims) в переменные NGINX; убедитесь, что они надёжно защищены.

← Ко всем директивам