auth_totp_step
指令 `auth_totp_step` 在 NGINX 验证中配置基于时间的一次性密码(TOTP) 的有效时间间隔。
Time-based one-time password (TOTP) authentication for NGINX
·
httpserverlocationlimit_except
语法auth_totp_step ;
默认值30;
上下文http, server, location, limit_except
参数1
说明
auth_totp_step 指令以秒为单位设置时间步长,决定生成的 TOTP 有效多长时间。有效期的确定对有效的安全机制至关重要,因为它规定了一次性密码可用于认证的时间窗口。通过指定此间隔,管理员可以通过将接受任意一次性密码的时间窗口最小化来增强安全性;这有助于阻止重放攻击,并要求用户定期生成新的令牌。
所指定的参数必须是表示持续时间(以秒为单位)的正整数。例如,如果您设置 auth_totp_step 30;,则生成的 TOTP 从生成时起有效 30 秒。此持续时间还必须与客户端侧 TOTP 生成器的预期配置相符,这些生成器通常在类似的时间范围内运行。因此,服务器和客户端之间的一致配置对于正常功能是必要的。
配置示例
location /protected {
auth_totp_realm "Protected";
auth_totp_file /etc/nginx/totp.conf;
auth_totp_step 1m;
# other configurations...
}⚠
确保时间步长与 TOTP 客户端配置一致,以避免认证失败。
⚠
如果使用过短的时间步长,当用户无法及时生成新的 TOTP 时,可能会出现要求重新认证的提示。
⚠
如果启用了 auth_totp_reuse,请考虑时间步长如何影响 TOTP 令牌的重用。