auth_jwt_redirect
当 JWT 验证失败时,`auth_jwt_redirect` 指令会将请求重定向到指定的登录 URL。
Secure your NGINX locations with JWT
·
httpserverlocation
语法auth_jwt_redirect on | off;
默认值off
上下文http, server, location
参数flag
说明
auth_jwt_redirect 指令是 NGINX Auth-JWT 模块的一部分,该模块确保对特定 location 的请求使用 JSON Web Tokens (JWTs) 进行认证。当该指令启用(设置为 'on')且请求中缺少或包含无效的 JWT 时,用户将被重定向到 auth_jwt_loginurl 指令中指定的 URL。对于需要用户认证的应用来说尤其有用,因为未认证的用户应被引导到登录页面,而不是收到错误响应。此机制通过自动引导用户到相应的认证界面,简化了对未授权访问的处理过程。
该指令可在 http、server 或 location 上下文中配置,使其能够在应用架构的不同层级灵活实现。它接受一个简单的标志参数,设置为 'on' 时启用重定向行为。作为在 Web 应用中设置 JWT 认证的一部分,该指令与其他与 JWT 处理相关的指令(例如 auth_jwt_enabled、auth_jwt_key 和 auth_jwt_loginurl)配合使用,提供了管理受保护路由的全面方法。
配置示例
location /protected {
auth_jwt_enabled on;
auth_jwt_key /path/to/key;
auth_jwt_loginurl /login;
auth_jwt_redirect on;
}⚠
请确保 auth_jwt_loginurl 已正确配置,因为该 URL 决定在身份验证失败后用户将被重定向到何处。
⚠
如果启用了重定向但未指定登录 URL,可能会导致意外行为或空白错误页面。
⚠
请记住,此指令仅在身份验证失败时促成重定向;仍需使用其他指令来正确设置 JWT 验证。