phantom_token

Директива `phantom_token` включает интроспекцию токенов доступа в NGINX, позволяя безопасно вызывать бэкенд-API с проверенными токенами.

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

Описание

Директива phantom_token — это параметр конфигурации внутри Phantom Token NGINX Module, который позволяет включить интроспекцию токенов доступа OAuth, представленных в заголовке Authorization входящих запросов. Когда эта директива активирована, она перехватывает запросы и проверяет наличие в них действительного токена доступа. Это достигается вызовом настроенного эндпойнта интроспекции на Curity Identity Server в соответствии со стандартом RFC 7662. После успешной интроспекции сервер получает JSON Web Token (JWT), который затем используется для замены исходного токена доступа в запросах к бэкенд-API, тем самым обеспечивая безопасность и целостность операций с данными пользователя.

Чтобы использовать эту директиву, укажите её в соответствующих контекстах — http, server или location. Директива принимает булев флаг в качестве аргумента, указывающий, включить или отключить механизм интроспекции. Важно корректно настроить соответствующие параметры конфигурации NGINX — указать адрес эндпойнта интроспекции, scope и другие необходимые параметры, чтобы модуль работал оптимально. Неправильная настройка любого из этих параметров может привести к неавторизованным запросам или неэффективной обработке токенов, что потенциально подвергает ваше приложение уязвимостям безопасности.

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

server {
    listen 80;
    location /api/ {
        phantom_token on;
        # Additional configuration for the introspection endpoint
        proxy_pass http://backend_service;
    }
}

Убедитесь, что конечная точка интроспекции правильно настроена; в противном случае проверка токена не пройдёт.

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

Проверьте, что заголовок Authorization корректно задан в запросах, чтобы избежать ошибок неавторизованного доступа.

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