auth_jwt
在 NGINX 中,`auth_jwt` 指令启用对请求的 JWT 验证。
NGINX JWT Module
·
httpserverlocation
语法auth_jwt $variable | on | off;
默认值off
上下文http, server, location
参数1
说明
auth_jwt 指令旨在便于在 NGINX 配置中验证 JSON Web Tokens (JWT)。它允许管理员指定应如何检索和验证 JWT——可以通过默认的 HTTP Authorization 头,或通过自定义变量(例如 cookie)。这对于使用基于令牌的认证机制以提高 API 安全性的应用尤其有用。
该指令接受三个参数:on、off 或一个变量(例如 $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。
⚠
为密钥使用错误的编码格式会导致验证失败。
⚠
不要忘记在配置文件的主上下文中加载该模块。