我有一个小的Lumen / Laravel应用程序,它只是用作API。我能够登录并设置JWT令牌,但经过一段时间超时后,我希望每次端点被击中时刷新它们。
我一直在看Tymon的JWT-AUTH的文档,但我似乎无法让它工作。
下面是我的一个端点的示例,它返回数据库中所有用户的数组。但是当令牌超时时,端点会返回错误You don't have previleges to view all users
如果有人能够建议我或告诉我如何在有人点击端点时让我的代码刷新令牌,我将非常感激。
内部控制器
public function index(Request $request)
{
$user = JWTAuth::parseToken()->authenticate();
if (!$user->isAdmin()) {
return $this->error_respond(['error' => "You don't have previleges to view all users"]);
}
$users = $this->repository->findAllWithPlan();
return $this->respond(['users' => $users]);
}
在Routes.php内部
$app->group(['middleware' => 'jwt.auth'], function ($app) {
/**
* Show All users
*/
$app->get(
'users',
[
'as' => 'user.all',
'middleware' => 'cors',
'uses' => 'App\Http\Controllers\UserController@index'
]
);
});