![](/img/trans.png)
[英]Laravel 5 How to check password reset token if it has expired or not
[英]check if reset password token Valid laravel
我正在嘗試檢查此令牌和此電子郵件是否存在於 passwrod_reset 表中,但問題是我的令牌已解密,表中的令牌已加密,因此我如何檢查令牌是否在表中?
public function checkData(Request $request){
return DB::table('password_resets')->where(['token' => $request->token , 'email'=> $request->email])->exists();
}
從請求中接收數據
dd($request->all());
array:2 [
"email" => "asd@asd.com"
"token" => "6afa1b987d67bfbb9a599a3e30c45942a71b1e518d7406dbcf3b3266d689f732"
]
最后是 DB 表 password_resets 中的令牌
#items: array:1 [
0 => {#351
+"email": "asd@asd.com"
+"token": "$2y$10$QNKyX42nm4W1MHZdeIUmBuNimeftiDnQQUCyZfDDgTwlbiRL//hsO"
+"created_at": "2020-08-25 21:26:42"
}
]
總而言之...如何檢查來自請求6afa1b987d67bfbb9a599a3e30c45942a71b1e518d7406dbcf3b3266d689f732
這個解密令牌,來自這個加密令牌$2y$10$QNKyX42nm4W1MHZdeIUmBuNimeftiDnQQUCyZfDDgTwlbiRL//hsO
來自$2y$10$QNKyX42nm4W1MHZdeIUmBuNimeftiDnQQUCyZfDDgTwlbiRL//hsO
解決方案在這里..
在我忘記密碼控制器中
public function __construct(HasherContract $hasher)
{
$this->hasher = $hasher;
}
public function checkData(Request $request){
$reset = DB::table('password_resets')->where(['email'=> $request->email])->first();
if(!$reset){
return false;
}
if($this->hasher->check($request->token, $reset->token)){
return true;
}
return false;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.