auth_jwt_extract_request_claims

Директива `auth_jwt_extract_request_claims` извлекает конкретные claims из JWT и устанавливает их в качестве заголовков запроса.

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

Описание

Директива auth_jwt_extract_request_claims используется в контексте блоков http, server и location, чтобы указать, какие claims из JSON Web Token (JWT) должны быть извлечены и помещены в заголовки входящего запроса. Это позволяет нижестоящим сервисам получить доступ к соответствующей информации, встроенной в JWT. Директива принимает один или несколько аргументов, каждый из которых представляет имя claim, подлежащее извлечению. Например, если ваш JWT содержит claims, такие как 'sub' или 'role', вы можете указать их для включения в заголовки HTTP-запроса.

Эта директива работает совместно с процессом верификации JWT. После того как JWT будет проверен, указанные claims разбираются и добавляются в заголовки. К этим заголовкам можно получить доступ на последующих этапах обработки запроса, что позволяет веб-приложениям использовать расширенный контекст или информацию для аутентификации. Важно: поведение директивы предполагает корректную обработку JWT; если проверка JWT не удалась, claims не будут извлечены и соответствующие заголовки установлены не будут.

Использование может быть простым — достаточно включить директиву в конфигурацию в тех местах, где нужно использовать claims из JWT в заголовках. Это особенно полезно для задач авторизации, таких как проверка ролей или идентификация пользователя на основе claims, включённых в JWT.

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

location /protected {
    auth_jwt_enabled on;
    auth_jwt_key /path/to/your/jwt_key;
    auth_jwt_location header;
    auth_jwt_extract_request_claims sub role;
}

Убедитесь, что JWT проверен перед извлечением утверждений; в противном случае утверждения могут быть недоступны.

Указание утверждения, которого нет в JWT, всё равно создаст пустой заголовок без каких-либо ошибок.

Будьте осторожны с конфликтами имён заголовков и существующими заголовками запроса. Извлечённые утверждения становятся заголовками.

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