phantom_token
Директива `phantom_token` включает интроспекцию токенов доступа в NGINX, позволяя безопасно вызывать бэкенд-API с проверенными токенами.
Описание
Директива 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 корректно задан в запросах, чтобы избежать ошибок неавторизованного доступа.