Laravel JWT返回令牌,但在随后的请求中返回未经身份验证的

时间:2020-10-19 14:36:36

标签: php laravel jwt jwt-auth laravel-8

我一直遇到这个问题,每次登录时都会得到jwt令牌,但是每当我尝试使用该令牌在与auth:api中间件绑定的不同路由上发出其他请求时,它都会不断返回{ {1}}。因此,我无法提出任何要求。

有人可以帮忙吗

路线看起来

unauthenticated

为什么我的控制器看起来像

Route::prefix('auth')->group(function () {

Route::post('login', [LoginController::class, 'login'])->name('login');
Route::post('refresh', [LoginController::class, 'handleRefreshToken'])->name('refresh');
Route::post('me', [LoginController::class, 'userDetails'])->name("user_details");
});

}

上述所有方法中,仅登录有效,其余均无效

1 个答案:

答案 0 :(得分:0)

取决于您发送令牌的方式:

当令牌丢失,过期或错误时,此软件包将始终返回Unauthenticated。 将带有Authorization的{​​{1}}标头添加到请求并再次发送,然后检查它是否仍返回Bearer [your token]

用于处理此逻辑的代码包含在Unauthenticated中间件中,但是只有在auth:api文件中正确配置了该代码后,该代码才有效。