auth_jwt_key
`auth_jwt_key` 指令指定用于在 NGINX 中解码和验证 JWT 的密钥。
Secure your NGINX locations with JWT
·
httpserverlocation
语法auth_jwt_key key_string;
默认值none
上下文http, server, location
参数1
说明
auth_jwt_key 指令是 NGINX 中 JWT 认证过程的关键组件,允许模块解码并验证由受信任机构签发的入站 JWT。该密钥以 binhex 格式提供,对于确保被验证的 JWT 的完整性和真实性至关重要。当在 HTTP 请求中接收到 JWT 时,NGINX 使用此密钥执行加密操作,以确认令牌未被篡改并且确实由受信任的签发者签发。
可以使用 auth_jwt_key 的上下文包括 NGINX 配置中的 http、server 和 location 块。此灵活性允许为不同请求范围配置不同的密钥。管理员可以根据安全要求和所处理的具体 JWT 为不同路由或服务定义不同的密钥。该指令接受单个参数——将用于验证过程的密钥字符串,从而促进分布式系统中安全的认证流程。
正确使用时,auth_jwt_key 指令通过强制使用定义良好的 JWT 来增强 Web 应用的安全性,这些 JWT 包含可选提取以供进一步处理的 claims。将此指令与诸如 auth_jwt_enabled 和 auth_jwt_redirect 等其他指令结合使用,可以通过在认证失败时指定回退行为来实现对认证逻辑和用户体验的全面管理。
配置示例
location /protected {
auth_jwt_enabled on;
auth_jwt_key "your_base64_encoded_key";
auth_jwt_redirect on;
auth_jwt_loginurl /login;
}⚠
确保密钥以正确的格式提供(binhex)。
⚠
在为多个位置配置密钥时要小心,以防发生冲突。
⚠
请记住在使用相关的JWT指令之前先定义密钥。