auth_totp_expiry

设置 NGINX 中用于基于 TOTP 认证的身份验证 Cookie 的过期时间。

语法auth_totp_expiry ;
默认值0s
上下文http, server, location, limit_except
参数1

说明

auth_totp_expiry 指令对于在 NGINX 中管理通过基于时间的一次性密码 (TOTP) 认证的客户端的会话生命周期至关重要。它指定在成功认证后身份验证 Cookie 保持有效的持续时间。如果未显式配置过期值(默认为 0s),该 Cookie 将作为会话 Cookie,意味着在浏览器会话结束时将被删除。

该指令可以在多个上下文中设置,包括 httpserverlocationlimit_except,根据服务器需求提供灵活的作用范围。例如,设置更长的过期时间(如 1d 表示一天)将允许用户在整个期限内保持已认证状态,而无需重新输入 TOTP 代码,从而提升用户体验,同时在会话需要较短时限的情况下仍保留一定的安全性。相反,在需要高安全性的场景中,可能会使用较短的过期时间以便更频繁地重新认证。

该指令的行为会直接影响会话管理和用户体验。选择合适的过期时间很重要,需要在便利性和安全性要求之间取得平衡。此外,过期时间应与任何为 TOTP 生成配置的时间步长对齐,以确保无缝的用户体验。

配置示例

location /protected {
    auth_totp_realm "Protected";
    auth_totp_file /etc/nginx/totp.conf;
    auth_totp_length 8;
    auth_totp_reuse off;
    auth_totp_skew 1;
    auth_totp_step 1m;
    auth_totp_cookie "totp-session";
    auth_totp_expiry 1d;
}

确保过期期限与用户对会话时长的需求充分一致。

将过期时间设置得过短可能会使需要反复认证的用户感到沮丧。

← 返回所有指令