Laravel与JWT令牌返回太长的刷新令牌
问题描述:
目前,我有此代码。Laravel与JWT令牌返回太长的刷新令牌
/**
* 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
呼叫令牌回来。 它看起来像新的令牌附加到我现有的令牌。
我不太确定我做错了什么,所以请随意开火。 ;)
答
我们有更新令牌的下一个方法。让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,
]);
}