phantom_token

`phantom_token` 指令在 NGINX 中启用对访问令牌的内省,从而使用经验证的令牌保障后端 API 调用的安全。

语法phantom_token on | off;
默认值off
上下文http, server, location
参数flag

说明

phantom_token 指令是 Phantom Token NGINX Module 中的一个配置参数,允许你对出现在传入请求 Authorization 头中的 OAuth 访问令牌启用内省。当该指令被激活时,它会拦截请求并验证其中是否包含有效的访问令牌。实现方式是按照 RFC 7662 的规范,向在 Curity Identity Server 上配置的内省端点发起请求。内省成功后,服务器会收到一个 JSON Web Token (JWT),然后在转发到后端 API 的请求中用该 JWT 替换原有的访问令牌,从而确保用户数据传输的安全性与完整性。

要使用此指令,应在相关上下文—httpserverlocation—中指定它。该指令需要一个布尔标志作为参数,用以指示是否启用内省机制。重要的是要在你的 NGINX 配置中妥善设置内省端点地址、scope 以及其他必要参数,以便该模块能够最佳运行。任何这些设置的错误配置都可能导致未授权的请求或对令牌的低效处理,进而可能使你的应用暴露于安全漏洞之中。

配置示例

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

确保 introspection endpoint 已正确配置;否则,token validation 将失败。

在调用 introspection endpoint 时要注意 network latency,因为它可能影响请求处理时间。

验证请求中的 Authorization header 是否已正确设置,以避免未经授权的错误。

← 返回所有指令