auth_jwt

在 NGINX 中,`auth_jwt` 指令启用对请求的 JWT 验证。

语法auth_jwt $variable | on | off;
默认值off
上下文http, server, location
参数1

说明

auth_jwt 指令旨在便于在 NGINX 配置中验证 JSON Web Tokens (JWT)。它允许管理员指定应如何检索和验证 JWT——可以通过默认的 HTTP Authorization 头,或通过自定义变量(例如 cookie)。这对于使用基于令牌的认证机制以提高 API 安全性的应用尤其有用。

该指令接受三个参数:onoff 或一个变量(例如 $cookie_MyCookieName)。当设置为 on 时,指令使用由 auth_jwt_key 指令指定的先前定义的密钥来启用 JWT 验证;若设置为 off,则禁用 JWT 验证。通过使用变量作为参数,用户可以从替代来源检索 JWT,以适应不同的应用设计和客户端实现。

该指令与其他相关指令(例如 auth_jwt_key)密切配合,用于指定用于验证 JWT 签名的密钥(对称密钥或公钥)。此验证过程对于确保令牌的完整性和真实性至关重要,从而保护应用免受未授权访问和潜在的安全威胁。

配置示例

http {
    server {
        auth_jwt_key "0123456789abcdef" hex;
        auth_jwt off;

        location /secured-by-auth-header/ {
            auth_jwt on;
        }

        location /secured-by-cookie/ {
            auth_jwt $cookie_MyCookieName;
        }
    }
}

确保在使用此指令之前已定义 JWT 的 secret 或 key。

为密钥使用错误的编码格式会导致验证失败。

不要忘记在配置文件的主上下文中加载该模块。

← 返回所有指令