我正在使用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