现象:新收到的密码重置链接立即过期。先比较Token创建时间、数据库UTC时间和应用服务器时间。
| 阶段 | 具体操作 |
|---|---|
| 取证 | 查询rp_token_created_at,并核对数据库UTC、PHP时间和NTP,节点相差数小时会立即超过生命周期。 |
| 定位 | 检查重置链接有效期与Scope,避免单位误解或极小配置。 |
| 修复 | 连续请求会生成新Token并让旧邮件失效,页面要提示只使用最新邮件并做限速。 |
| 复核 | 异步邮件不能延迟到接近过期才发送;修复后重新生成Token,不复活旧Token。 |
可执行检查
SELECT email,rp_token_created_at FROM customer_entity WHERE email='test@example.com';
SELECT UTC_TIMESTAMP(),NOW();
date -u
bin/magento config:show customer/password/reset_link_expiration_period通过标准:最新链接在有效期内可使用一次,旧链接和已使用Token失效,所有Web节点与数据库时间一致。

