这个问题已经问了很多遍,但是找不到合适的解决方案。
我这样做-$newToken = auth()->refresh();
我的自定义声明中有
public function getJWTCustomClaims()
{
return [
'is_verified' => $this->verified,
'email' => $this->email,
'role' => $this->getMainRole()->name
];
}
场景-首先,当我登录时,它会向我返回jwt令牌。在那个jwt令牌中,我有is_verified,email和角色集。假设在我获得令牌时is_verified为0。现在,我在数据库中将其更改为1。现在,如上所示,当我刷新令牌时,返回的jwt令牌仍然具有is_verified等于0,但是应该为1。知道如何解决它吗?
答案 0 :(得分:0)
试试 $newToken = auth()->refresh(false, true);
第二个参数是“重置声明”:
JWTGuard 类 -
public function refresh($forceForever = false, $resetClaims = false)