【发布时间】:2019-06-09 14:42:54
【问题描述】:
这个问题已经被问过很多次了,但找不到合适的解决方案。
我这样做 - $newToken = auth()->refresh();
在我的自定义声明中,我有
public function getJWTCustomClaims()
{
return [
'is_verified' => $this->verified,
'email' => $this->email,
'role' => $this->getMainRole()->name
];
}
场景 - 首先,当我登录时,它会返回 jwt 令牌。在那个 jwt 令牌中,我有 is_verified 、电子邮件、角色集。假设在我获得令牌时 is_verified 为 0。现在,我在数据库中将其更改为 1。现在,当我刷新令牌时,正如我在上面向您展示的那样,返回的 jwt 令牌仍然具有 is_verified 等于 0,但它应该有 1。知道如何修复它吗?
【问题讨论】:
-
我不太清楚,但这听起来像是缓存问题。可能令牌被缓存了,当您直接修改数据库时,当然不会清除缓存。
-
可以建议在 GitHub 上打开一个问题。你实际使用的是什么包?
-
你有解决这个问题的办法吗?