I have this working method to log user in:
// Authenticate Business User
public function authBU() {
$this->validate( request(), [
'provider' => 'required',
'token' => 'required',
] );
$user = JWTAuth::authenticate(request( 'token' ));
return $this->buildItemResponse( $user, new UserLoginTransformer() );
}
it returns from the User
table, However, I need it to look into the BusinessUser
table.
I have already setup bsuiness_users
in auth.php
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'token',
'provider' => 'users',
],
'business_api' => [
'driver' => 'passport',
'provider' => 'business_users',
],
],
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => \App\Services\Users\User::class,
],
'business_users' => [
'driver' => 'eloquent',
'model' => \App\Services\Users\BusinessUser::class,
],
],
How can I get JWTAuth::authenticate(request( 'token' ));
to return a BusinessUser
without editing vendor code?
This is the method in JWTAuth.php
/**
* Authenticate a user via a token.
*
* @param mixed $token
*
* @return mixed
*/
public function authenticate($token = false)
{
$id = $this->getPayload($token)->get('sub');
if (! $this->auth->byId($id)) {
return false;
}
return $this->auth->user();
}
from Newest questions tagged laravel-5 - Stack Overflow https://ift.tt/2qWJUe7
via IFTTT
Aucun commentaire:
Enregistrer un commentaire