auth_jwt_extract_var_claims

`auth_jwt_extract_var_claims` 指令从 JWT 中提取指定的声明,并将它们作为 NGINX 变量提供可用。

语法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 验证时被处理。例如,如果您将该指令设置为提取 subexp 声明,则可以在配置中分别通过 $jwt_claim_sub$jwt_claim_exp 访问它们。

该指令可在 httpserverlocation 上下文中使用,在如何在服务架构中部署基于 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 变量时要小心;确保它们得到充分保护。

← 返回所有指令