请教执行退出 jwt-auth 时,为什么会出现 token 不能解析的错误?
我使用 JWTAuth::attempt( 登录了laravel,成功获取了 token。调用退出时,在head中添加了“Authorization:Bearer xxxxxxx”,xxxx是新创建的token。
退出的控制器非常简单,只有
auth()->logout(true);
但是经常出现“Token could not be parsed from the request”的错误。
我发现出错的地方是,根\vendor\tymon\jwt-auth\src\JWTGuard.php的logout函数中执行 invalidate 的地方。
我把
$this->requireToken()->invalidate($forceForever);
改成了
try
{
$this->requireToken()->invalidate($forceForever);
} catch (JWTException $e) {
var_dump($e->getMessage());
}
发现执行到这里时,会执行异常处理,打印出来“Token could not be parsed from the request”的错误。
但是因为在 ->invalidate 的时候出错,token并没有进入黑名单,还是能好用。
请问在退出的时候,我还需要做哪些处理?
非常感谢!
推荐文章: