Vanya  Avchyan Vanya Avchyan - 7 months ago 416
PHP Question

Laravel v5.2.* (v5.2.29) Auth::guard('api')->attempt($user) fatal error

Has anyone encountered this problem

dd($this->user->check()); return false


but

Auth::guard('user')->attempt(App\User::find(1))


return the error


Call to undefined method Illuminate\Auth\TokenGuard::attempt()


Please help to resolve this problem.

Answer

Я решил эту проблему

В конфигурациях congig/auth.php

 'user' => [
        'driver' => 'token',
        'provider' => 'userProvider',
    ],

надо сменить на

 'user' => [
        'driver' => 'session',
        'provider' => 'userProvider',
    ],

Потому Что Auth::guard данные сохраняет в сессии

А дальше работаем по известной схеме

Auth::login() = Auth::guard('user')->login()

Auth::attempt() = Auth::guard('user')->attempt()

Auth::user() = Auth::guard('user')->user()

Ну и так далее