auth_jwt_extract_var_claims
`auth_jwt_extract_var_claims` 指令从 JWT 中提取指定的声明,并将它们作为 NGINX 变量提供可用。
Secure your NGINX locations with JWT
·
httpserverlocation
语法auth_jwt_extract_var_claims claim_name1 claim_name2 ...;
默认值none
上下文http, server, location
参数1+
说明
auth_jwt_extract_var_claims 指令用于从 JWT (JSON Web Token) 中提取特定的声明,并将它们存储为可在 NGINX 配置中使用的 NGINX 变量。该指令需要一个以空格分隔的声明名称列表作为参数,这些声明将在 JWT 验证时被处理。例如,如果您将该指令设置为提取 sub 和 exp 声明,则可以在配置中分别通过 $jwt_claim_sub 和 $jwt_claim_exp 访问它们。
该指令可在 http、server 或 location 上下文中使用,在如何在服务架构中部署基于 JWT 的身份验证和声明提取方面提供灵活性。当与其他指令(例如 auth_jwt_enabled)结合使用时,它实现了高度可配置的 JWT 处理机制,使 NGINX 能够在请求处理流程中动态评估并合并安全相关的用户声明。
配置示例
location /secure {
auth_jwt_enabled on;
auth_jwt_key /path/to/your.key;
auth_jwt_extract_var_claims sub exp;
proxy_pass http://backend;
}⚠
确保声明名称拼写正确并与 JWT 令牌中预期的名称匹配。
⚠
提取的声明仅在 JWT 验证成功后可用;无效的令牌不会导致声明被提取。
⚠
在将敏感声明提取为 NGINX 变量时要小心;确保它们得到充分保护。