auth_jwt_loginurl
指令 `auth_jwt_loginurl` 指定在 JWT 验证失败时要重定向到的 URL。
Secure your NGINX locations with JWT
·
httpserverlocation
语法auth_jwt_loginurl URL;
默认值none
上下文http, server, location
参数1
说明
指令 auth_jwt_loginurl 属于 NGINX 的 JWT 身份验证模块,该模块提供了使用 JSON Web Tokens 来保护 NGINX locations 的机制。启用后,该指令定义了当用户在尝试访问受保护资源但没有有效 JWT 或其 JWT 未通过验证时将被重定向到的端点。只有在 auth_jwt_redirect 指令设置为 'on' 时才会发生重定向。
auth_jwt_loginurl 指令的值应为指向登录或认证页面的有效 URL,以便用户获取新的 JWT。它可以在 http、server 或 location 级别配置,从而在 NGINX 配置中灵活地控制认证的作用范围和位置。设置此指令有助于改善用户体验,确保在认证失败时用户被引导到合适的页面登录并获得有效凭证。
要实现此功能,该指令需要与其他若干与 JWT 相关的指令配合使用,例如用于切换 JWT 检查的 auth_jwt_enabled 和用于启用重定向的 auth_jwt_redirect。如果这些指令未正确配置,设置 auth_jwt_loginurl 将无法达到预期效果,可能导致用户请求时对认证失败的原因产生混淆。
配置示例
location /protected {
auth_jwt_enabled on;
auth_jwt_redirect on;
auth_jwt_loginurl /login;
auth_jwt_key my_secret_key;
}⚠
确保 auth_jwt_redirect 设置为 'on',以便发生重定向;否则该指令不会生效。
⚠
指定的 URL 必须可达并正确配置以处理身份验证流程。
⚠
该指令可以放在多个上下文 (http, server, location),请注意它的设置位置,因为这会影响其功能。