目前,我有这段代码。
/**
* Refresh a token.
*
* @param $token
* @return \Illuminate\Http\JsonResponse
*/
public function token($token)
{
if(!$token)
{
throw new BadRequestHttpException('Geen token aangeleverd');
}
try {
$newToken = \JWTAuth::refresh($token);
} catch(TokenInvalidException $e) {
throw new AccessDeniedHttpException('Incorrect token');
}
return \Response::json(compact('newToken'));
}
当我向此方法发送有效令牌时,我会从JWTAuth::refresh
调用中收到一个非常长的令牌。
看起来新令牌会附加到我现有的令牌上。
我不太确定我做错了什么,所以请随意开火。 ;)
答案 0 :(得分:1)
我们有下一个刷新令牌的方法。让JWTAuth自己找到令牌。
public function tokenRefresh(Request $request)
{
try {
$newToken = JWTAuth::setRequest($request)->parseToken()->refresh();
} catch (TokenExpiredException $e) {
event("jwt.expired", [$e], true);
} catch (JWTException $e) {
event("jwt.invalid", [$e], true);
}
/** Our Response wrapper :) */
return ApiResponse::success([
'token' => $newToken,
]);
}