auth_jwt_enabled

指令 `auth_jwt_enabled` 为 NGINX 的 location 启用 JWT 验证检查。

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

说明

在 NGINX 配置中,指令 auth_jwt_enabledhttpserverlocation 块的上下文中使用,用于启用或禁用 JWT (JSON Web Token) 认证。当设置为 'on' 时,该指令会对指定上下文的传入请求启动 JWT 验证流程。该验证会检查请求中是否存在有效的 JWT;如果进行了相应配置,还会从 JWT 中提取声明(claims)并将其填充到 NGINX 的环境变量中,从而允许基于这些声明进行进一步处理或访问控制。

该指令接受单个参数,可为 'on' 或 'off'。设置为 'on' 表示将执行 JWT 认证;而设置为 'off' 则禁用此功能,实质上允许在不进行 JWT 检查的情况下访问。验证失败时的预期行为由指令 auth_jwt_redirect 决定。如果 JWT 验证失败且 auth_jwt_redirect 设置为 'on',用户将被重定向到由 auth_jwt_loginurl 指定的登录 URL。此功能对于基于令牌的认证(token-based authentication)来实现安全访问控制的 API 和 Web 应用尤其有用。

配置示例

location /protected {
    auth_jwt_enabled on;
    auth_jwt_loginurl /login;
    auth_jwt_key /path/to/key;
}

确保如果 auth_jwt_enabled 设置为 'on',相应的密钥和登录 URL 也要正确配置,以避免身份验证失败。

混淆 JWT 的位置会导致认证失败 — 请确保 auth_jwt_location 指向包含 JWT 的正确 header 或 cookie。

← 返回所有指令