Reputation: 880
Please help me to resolve this problem
I want to use multi authentication.
My Laravel version is 5.2.* (5.2.29)
I do all that is written in the documentation
//congig/auth.php
<?php
return [
'defaults' => [
'guard' => 'web',
'passwords' => 'users',
],
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'token',
'provider' => 'users',
],
'admin' => [
'driver' => 'token',
'provider' => 'adminProvider',
],
],
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
],
'adminProvider' => [
'driver' => 'eloquent',
'model' => App\User::class,
],
],
'passwords' => [
'users' => [
'provider' => 'users',
'email' => 'auth.emails.password',
'table' => 'password_resets',
'expire' => 60,
],
],
];
But
Auth::guard('api')->attempt(['email'=>[email protected],...])
It gives the following error
FatalErrorException in AuthController.php line 34:
Call to undefined method Illuminate\Auth\TokenGuard::attempt() What did I do wrong?
Upvotes: 3
Views: 1276
Reputation: 2954
you should change the following :
'admin' => [
'driver' => 'token',
'provider' => 'adminProvider',
],
to
'admin' => [
'driver' => 'session',
'provider' => 'adminProvider',
],
you can not use attempt with token.
Upvotes: 2