这种身份验证(条件)是如何工作的


$user = User::where('email', $request->email)->first();
if (!$user || !Hash::check($request->password, $user->password)) {
return response([
'message' => ['Credenitials do no match']],404);
}

有人能让我理解if块吗?

首先,它试图通过http请求中传递的电子邮件找到用户:

$user = User::where('email', $request->email)->first();

然后,它检查用户是否存在,以及数据库中存储的密码的已散列版本是否与随请求传递的(散列(密码匹配:

if (!$user || !Hash::check($request->password, $user->password)) {

如果没有,则返回404状态的响应和消息:

'message' => ['Credenitials do no match']],404);

如果密码匹配,则代码继续。

最新更新