Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 拉雷维尔和Bcrypt在哪里_Php_Laravel - Fatal编程技术网

Php 拉雷维尔和Bcrypt在哪里

Php 拉雷维尔和Bcrypt在哪里,php,laravel,Php,Laravel,我有以下代码: $user = User::where([ ['email', '=', $request->email], ['password', '=', bcrypt($request->password)], ])->first(); if(count($user) > 0) { return resp

我有以下代码:

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

    if(count($user) > 0) {
        return response()->json(['access_token' => $user->api_token, 'code' => '202'], 202);
    }
    else
    {
        return response()->json(['message' => 'Please provide a valid email or password', 'code' => '200'], 200);
    }
但问题是,它返回用户不存在,因为密码与bcrypt不匹配。如何使我插入的密码与数据库匹配


谢谢

问题:基于用户名和密码的用户对象,无需登录

方法:

步骤1:根据电子邮件检索用户

$user = User::where('email','=', $request->email);
步骤2:检查密码是否匹配

$isValidUser = false;
//If there is no user associated with email address.
if($user != null){
    $isValidUser = Hash::check($request->password, $user->getAuthPassword()); //returns true/false
}

if($isValidUser) {
    return response()->json(['access_token' => $user->api_token, 'code' => '202'], 202);
}
else
{
    return response()->json(['message' => 'Please provide a valid email or password', 'code' => '200'], 200);
}

使用包含模块中已经给出的身份验证内容,不要对自己进行身份验证。如何进行身份验证?你能给我看看吗?但是如果我需要一个用户呢?不要只登录一个用户我怎么能做到?