phantom_token_introspection_endpoint
指令 `phantom_token_introspection_endpoint` 指定了在 Phantom Token NGINX Module 中用于令牌内省的 URI 端点。
Phantom Token NGINX Module
·
location
语法phantom_token_introspection_endpoint URI;
默认值none
上下文location
参数1
说明
在 NGINX 配置的 location 块中使用 phantom_token_introspection_endpoint 指令来定义用于对访问令牌进行内省的端点。当请求在 Authorization 头中包含 OAuth 访问令牌时,Phantom Token NGINX Module 会提取该令牌并调用已配置的内省端点。该端点通常指向 Curity Identity Server,如果访问令牌有效,会返回一个 JWT。
此机制符合 RFC 7662 中概述的 Token Introspection 框架,允许对令牌进行动态验证。如果内省成功,会检索到相应的 JWT 并转发给后端服务,替换请求中的原始令牌。如果访问令牌缺失或无效,NGINX 服务器将拒绝访问,返回 401 Unauthorized 响应,并且不会将请求转发到后端。
该指令接受一个参数,即内省端点的 URI。需要注意的是,为使模块正确工作,可能还需正确配置作用域(scopes)和客户端凭据(client credentials)。此外,可以配置缓存以通过减少对身份服务器的内省调用次数来优化性能,从而应对重复的有效令牌。
配置示例
location /api {
phantom_token_introspection_endpoint https://identityserver.example.com/introspect;
...other directives...
}⚠
确保用于内省的指定 URI 可达并正确配置;配置错误或不可达的端点会导致身份验证失败。
⚠
在客户端请求中正确处理 Authorization 头;如果该头缺失或不正确,请求将失败,与端点配置无关。
⚠
注意缓存机制,因为缓存未命中会导致频繁的内省调用,从而增加延迟。