Я использую пакет Laravel Tymon для аутентификации пользователей JWT.
Я также кэширую каждый пользовательский объект после того, как новый пользователь создан и сохранен в базе данных, чтобы я мог быстрее загружать данные при выборе.
authenticate()
Метод в пакете Tymon принимает маркер в качестве входных данных и использует модель пользователя для аутентификации пользователя следующим образом:
public function authenticate($token = false)
{
$id = $this->getPayload($token)->get('sub');
if (! $this->auth->byId($id)) {
return false;
}
return $this->auth->user();
}
Можно ли аутентифицировать токен в кешированной пользовательской модели вместо реальной модели?
Я попытался один из способов сделать это, и это отменяет authenticate()
метод в AppServiceProvider
,
Но я хочу обработать это на модели User. Это означает, что я хочу, чтобы модель User извлекала объект пользователя из кэша (если он существует), а не извлекала его из базы данных и ничего не изменяла / не переопределяла на authenticate
метод.
Задача ещё не решена.
Других решений пока нет …