检查重置密码令牌是否有效 laravel
check if reset password token Valid laravel
我正在尝试检查此令牌和此电子邮件是否存在于 passwrod_reset table 中,但问题是我的令牌处于解密状态而 table 中的令牌处于加密状态,所以我怎么能检查令牌是否在 table 中?
public function checkData(Request $request){
return DB::table('password_resets')->where(['token' => $request->token , 'email'=> $request->email])->exists();
}
received data from Request dd($request->all());
array:2 [
"email" => "asd@asd.com"
"token" => "6afa1b987d67bfbb9a599a3e30c45942a71b1e518d7406dbcf3b3266d689f732"
]
and finally the token in DB table password_resets
#items: array:1 [
0 => {#351
+"email": "asd@asd.com"
+"token": "y$QNKyX42nm4W1MHZdeIUmBuNimeftiDnQQUCyZfDDgTwlbiRL//hsO"
+"created_at": "2020-08-25 21:26:42"
}
]
总而言之...如何使用来自数据库
的加密令牌y$QNKyX42nm4W1MHZdeIUmBuNimeftiDnQQUCyZfDDgTwlbiRL//hsO
检查来自请求6afa1b987d67bfbb9a599a3e30c45942a71b1e518d7406dbcf3b3266d689f732
的解密令牌
解决方法在这里..
在我的 forgetPassword 控制器中
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;
}
我正在尝试检查此令牌和此电子邮件是否存在于 passwrod_reset table 中,但问题是我的令牌处于解密状态而 table 中的令牌处于加密状态,所以我怎么能检查令牌是否在 table 中?
public function checkData(Request $request){
return DB::table('password_resets')->where(['token' => $request->token , 'email'=> $request->email])->exists();
}
received data from Request
dd($request->all());
array:2 [
"email" => "asd@asd.com"
"token" => "6afa1b987d67bfbb9a599a3e30c45942a71b1e518d7406dbcf3b3266d689f732"
]
and finally the token in DB table password_resets
#items: array:1 [
0 => {#351
+"email": "asd@asd.com"
+"token": "y$QNKyX42nm4W1MHZdeIUmBuNimeftiDnQQUCyZfDDgTwlbiRL//hsO"
+"created_at": "2020-08-25 21:26:42"
}
]
总而言之...如何使用来自数据库
的加密令牌y$QNKyX42nm4W1MHZdeIUmBuNimeftiDnQQUCyZfDDgTwlbiRL//hsO
检查来自请求6afa1b987d67bfbb9a599a3e30c45942a71b1e518d7406dbcf3b3266d689f732
的解密令牌
解决方法在这里..
在我的 forgetPassword 控制器中
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;
}