带有JWT令牌的Laravel返回一个太长的刷新令牌

时间:2016-05-05 20:38:48

标签: php laravel-5 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调用中收到一个非常长的令牌。 看起来新令牌会附加到我现有的令牌上。

我不太确定我做错了什么,所以请随意开火。 ;)

1 个答案:

答案 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,
    ]);
}