Hello, I need it to create api for user authentication in Lumen, but there are some problems.
Call to undefined method Illuminate\Auth\RequestGuard::attempt()
in AuthManager.php (line 294)
at AuthManager->__call('attempt', array(array('username' => 'test', 'password' => 'test'), false))
in Facade.php (line 221)
at Facade::__callStatic('attempt', array(array('username' => 'test', 'password' => 'test'), false))
in AuthController.php (line 29)
at AuthController->login(object(Request))
at call_user_func_array(array(object(AuthController), 'login'), array(object(Request)))
in BoundMethod.php (line 29)
at BoundMethod::Illuminate\Container\{closure}()
in BoundMethod.php (line 87)
at BoundMethod::callBoundMethod(object(Application), array(object(AuthController), 'login'), object(Closure))
in BoundMethod.php (line 31)
at BoundMethod::call(object(Application), array(object(AuthController), 'login'), array(), null)
in Container.php (line 531)
at Container->call(array(object(AuthController), 'login'), array())
in RoutesRequests.php (line 741)
at Application->callControllerCallable(array(object(AuthController), 'login'), array())
in RoutesRequests.php (line 707)
at Application->callLumenController(object(AuthController), 'login', array(true, array('uses' => 'App\\Http\\Controllers\\AuthController@login'), array()))
in RoutesRequests.php (line 681)
at Application->callControllerAction(array(true, array('uses' => 'App\\Http\\Controllers\\AuthController@login'), array()))
in RoutesRequests.php (line 643)
at Application->callActionOnArrayBasedRoute(array(true, array('uses' => 'App\\Http\\Controllers\\AuthController@login'), array()))
in RoutesRequests.php (line 628)
at Application->handleFoundRoute(array(true, array('uses' => 'App\\Http\\Controllers\\AuthController@login'), array()))
in RoutesRequests.php (line 528)
at Application->Laravel\Lumen\Concerns\{closure}()
in RoutesRequests.php (line 781)
at Application->sendThroughPipeline(array(), object(Closure))
in RoutesRequests.php (line 534)
at Application->dispatch(null)
in RoutesRequests.php (line 475)
at Application->run()
in index.php (line 28)
AuthController
class AuthController extends Controller
{
public function login(Request $request)
{
$this->validate($request, [
'username' => 'required',
'password' => 'required',
]);
$credentials = $request->only('username', 'password');
Auth::attempt($credentials, false); //ERROR
return ['result' => 'ok'];
}
}
User
class User extends Model implements AuthenticatableContract, AuthorizableContract
{
use Authenticatable, Authorizable;
protected $table = 'users';
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'username', 'email',
];
/**
* The attributes excluded from the model's JSON form.
*
* @var array
*/
protected $hidden = [
'password',
];
}
I don't know where is problem, why is attempt() method not found?