auth_jwt_redirect

Директива `auth_jwt_redirect` включает перенаправление на указанный URL для входа, если аутентификация JWT не удалась.

Синтаксисauth_jwt_redirect on | off;
По умолчаниюoff
Контекстhttp, server, location
Аргументыflag

Описание

Директива auth_jwt_redirect является частью модуля NGINX Auth-JWT, который гарантирует, что запросы к определённым локациям аутентифицированы с помощью JSON Web Tokens (JWTs). Когда эта директива включена (установлена в 'on'), и в поступающем запросе JWT либо отсутствует, либо недействителен, пользователь будет перенаправлен на URL, указанный в директиве auth_jwt_loginurl. Это особенно полезно для приложений, требующих аутентификации пользователей, когда неаутентифицированных пользователей следует отправлять на страницу входа вместо выдачи ответа с ошибкой. Этот механизм упрощает обработку неавторизованного доступа, автоматически направляя пользователей к соответствующему интерфейсу для аутентификации.

Эту директиву можно настроить в контекстах http, server или location, что делает её гибкой для реализации на разных уровнях архитектуры приложения. Она принимает простой флаговый аргумент: если он установлен в 'on', поведение перенаправления активируется. В процессе настройки аутентификации JWT в веб-приложении эта директива работает совместно с другими директивами, связанными с обработкой JWT, такими как auth_jwt_enabled, auth_jwt_key и auth_jwt_loginurl, обеспечивая комплексный подход к управлению защищёнными маршрутами.

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

location /protected {
    auth_jwt_enabled on;
    auth_jwt_key /path/to/key;
    auth_jwt_loginurl /login;
    auth_jwt_redirect on;
}

Убедитесь, что auth_jwt_loginurl настроен правильно, так как этот URL определяет, куда будут перенаправлены пользователи после неудачной аутентификации.

Если перенаправление включено, но URL для входа не указан, это может привести к непредвиденному поведению или пустой странице ошибки.

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

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