I'm developing a web app using Laravel 5, I used Laravel's make:auth
scaffolding. I was able to send a password reset link with a token, which works well on my end. I have this kind of url after clicking on the reset link: http://example.com/password/reset/{reset_token}
.
Now, on my auth.reset
blade file, I want to check first if the {reset_token}
has already expired because it seems in the 60 minutes expiration time at config.auth.php
, it doesn't seem to automatically remove expired tokens. So, I'm trying to make a manual function to check if reset token is still valid with this:
function validateReminderToken($token)
{
// I want to add some filter here like
// if (tokenExpired($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;
}
How can I do it? Is there some built-in way of checking if the token has expired? Thanks.
Use the created_at
to check if a certain duration has passed from the time of insertion. For example you can do like so :
$token = DB::table('password_resets')
->where('token','=',$token)
->where('created_at','>',Carbon::now()->subHours(2))
->first();
Then check if the token exists.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With