Столкнулся ошибкой при аутентификации: при попытке пройти её, метод Auth::attempt возвращает false, хотя телефон и пароль правильный.
Я думаю дело в том, что в моей таблице password называется, как passhash.
Таблица - User
Класс регистрации:
protected function create(Request $data)
{
if (User::where('phone', '=', $data['phone'])->exists()) {
return response()->json(array('status' => 'error', 'msg'=>'The phone number already exists'), 422);
} else {
$user_id = User::create([
'first_name' => $data['first_name'],
'surname' => $data['surname'],
'phone' => $data['phone'],
'passhash' => bcrypt($data['password']),
]);
return response()->json(array('status' => 'created', 'id' => $user_id['id']), 201);
}
}
Класс аутентификации
public function login(Request $request)
{
$credentials = [
'phone' => $request['phone'],
'password' => $request['password'],
];
if (Auth::attempt($credentials)) {
return response()->json(array('token' => 'Вы успешно авторизировались!'), 200);
} else {
return response()->json([
'error' => 'Incorrect phone or password',
], 404);
}
}
public function getAuthPassword()
{
return $this->passhash;
}