phantom_token_introspection_endpoint
Директива `phantom_token_introspection_endpoint` указывает URI-эндпоинт для интроспекции токенов в Phantom Token NGINX Module.
Описание
Директива phantom_token_introspection_endpoint используется внутри блока location в конфигурации NGINX, чтобы задать эндпоинт, который будет применяться для интроспекции токенов доступа. Когда поступает запрос, содержащий OAuth-токен доступа в заголовке Authorization, Phantom Token NGINX Module извлекает этот токен и выполняет вызов настроенного эндпоинта интроспекции. Этот эндпоинт, который обычно указывает на Curity Identity Server, возвращает JWT, если токен доступа действителен.
Этот механизм соответствует фреймворку Token Introspection, описанному в RFC 7662, и позволяет динамически проверять токены. Если интроспекция успешна, соответствующий JWT будет получен и переслан бэкэнд-службам, заменив исходный токен в запросе. Если токен доступа отсутствует или недействителен, сервер NGINX откажет в доступе, вернув ответ 401 Unauthorized, не пересылая запрос на бэкэнд.
Директива принимает один аргумент — URI эндпоинта интроспекции. Следует отметить, что для корректной работы модуля также может потребоваться настроить scopes и client credentials. Кроме того, можно настроить кэширование для оптимизации производительности, уменьшая количество вызовов интроспекции к identity server для повторяющихся действительных токенов.
Пример конфига
location /api {
phantom_token_introspection_endpoint https://identityserver.example.com/introspect;
...other directives...
}Убедитесь, что указанный URI доступен и правильно настроен для интроспекции; неправильно настроенный или недоступный endpoint может привести к ошибкам при аутентификации.
Корректно обрабатывайте заголовок Authorization в запросах клиента; если он отсутствует или неверен, запрос не будет выполнен независимо от конфигурации endpoint.
Будьте осторожны с кешированием, так как промахи в кэше могут привести к увеличению задержки из‑за частых вызовов интроспекции.