Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Добрый вечер.
Делаю аутентификацию без стороних пакетов. Использую свою таблицу Admins вместо Users.
Метод Login:
public function Login(Request $request)
{
$this->validate($request, [
'login' => 'required',
'password' => 'required|min:8'
]);
$auth = Auth::attempt([
'login' => $request->login,
'password' => $request->password
]);
if($auth){
$token = auth()->user()->createToken();
return response()->json(['token' => $token], 200);
}else {
return response()->json(['error' => 'Unauthorised'], 401);
}
}
Файл auth.php:
'guards' => [
'web-admin' => [
'driver' => 'session',
'provider' => 'admins',
],
'api-admin' => [
'driver' => 'token',
'provider' => 'admins',
]
],
При таком подходе Laravel берет даные с таблици Users, если же я указываю:
Auth::guard('api-admin')->attempt([$login, $pass]);
Ошибка: "Call to undefined method Illuminate\\Auth\\TokenGuard::attempt()"
Как мне сделать Аутентификацию API, чтобы даные логин и пароль брались с другой таблици?
Писать все в ручную, искать в таблице и сверять потом?
Не в сети
Страницы 1