Почему я не могу установить Config для провайдеров jwt-auth, использующих PHP Laravel 5.6?

У меня есть две разные модели, и мне нужно аутентифицировать каждую.

Первая модель работает нормально, что предопределено в config/auth.php но когда я пытаюсь установить конфигурацию для второй модели, это не работает.

У меня есть следующий код для второй модели:

public function loginParent(Request $request)
{

Config::set('auth.providers.users.model', ChildrenParent::class);

$credentials = $request->only('email', 'password');

try {
if (!$token = JWTAuth::attempt($credentials)) {
return response()->json(['error' => 'invalid_credentials'], 401);
}
} catch (JWTException $e) {
return response()->json(['error' => 'could_not_create_token'], 500);
}
return response()->json(compact('token'));
}

И код для auth.php:

'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\Employee::class,
],
],

'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],

'api' => [
'driver' => 'token',
'provider' => 'users',
],
],

Я проверил, и он работает нормально, если я изменю название модели в auth.php.

Ошибка: всегда возвращаются «неверные учетные данные».

редактировать
Тест показывает, что модель успешно изменена следующим образом:

Config::set('auth.providers.users.model', ChildrenParent::class);
return Config::get('auth.providers.users.model');

return оператор возвращает второй класс модели, но почему я всегда получаю неверные учетные данные?

Редактировать:

ChildrenParent использует следующие черты и интерфейсы:

use Illuminate\Database\Eloquent\Model;
use Illuminate\Notifications\Notifiable;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;
use Illuminate\Auth\Passwords\CanResetPassword;
use Illuminate\Auth\Authenticatable as AuthenticableTrait;
use Tymon\JWTAuth\Contracts\JWTSubject as AuthenticatableUserContract;

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]