我正在使用 Laravel Tymon 包进行 JWT 用户身份验证。
在创建新用户并将其保存在数据库中后,我还将缓存每个用户对象,以便我可以在选择时更快地加载数据。
Tymon 包中的authenticate()
方法将令牌作为输入,并使用用户模型对用户进行身份验证,如下所示:
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
方法上的任何内容。