我正在使用Laravel 5开发Web应用程序,我正在使用内置密码&身份验证控制器。我可以用一个令牌发送密码重置链接,这在我身边很好。点击重置链接后,我有这种网址:http://example.com/password/reset/{reset_token}
。 现在,在我的auth.reset上,我想首先检查{reset_token}
是否已经过期,因为它似乎在60分钟到期时间config.auth.php
似乎不会自动删除过期的令牌。所以,我做了一个手动函数来检查重置令牌是否有效:Laravel 5如何检查密码重置令牌是否已过期
function validate_reminder_token($token){
// I want to add some filter here like
// if(token_is_expired($token)) return false;
$res = DB::table('password_resets')->where('token', '=', $token)->get();
if(empty($res) || $res === null)
return false;
$res = $res[0];
return $res->email;
}
我该怎么办?是否有内置的方式来检查令牌是否过期?谢谢。
非常感谢你@Mithredate。这真的很有道理。 – dexterb
不客气;) – Mithredate
这在5.4中不再适用,因为令牌现在在数据库中被散列了。 – mtpultz