dongshen7407 2018-01-19 15:43
浏览 2987

Laravel jwt身份验证令牌已过期,token_invalid

我对jwt auth令牌到期有个问题。 情况是这样的:我把laravel中的API作为一个项目来编写。 这个API使用另一个laravel项目(客户端)。 但是当我尝试用户登录,一切都很好,但之后我开始意识到TTL(60分钟)(时间生活)通过,然后当我试图让用户资源(需要登录用户)我得到json错误响应{“错误”= >“token_expired”}。 这是我使用jwt的代码的路由部分。 auth中间件:

Route::group(['middleware' => 'jwt.auth'], function () {
    Route::get('account/getUserDetails', 'Api\AccountController@getUserDetails');
});

我很困惑为什么令牌不会自动刷新,我是否需要在某个地方明确指定刷新令牌的方式,难道不是这样的吗?

“refresh_ttl”=比;20160,在jwt.php中。端点看起来是这样的:

public function getUserDetails(Request $request)
{

    try {
        if (! $user = JWTAuth::parseToken()->authenticate()) {

            return response()->json(['user_not_found'], 404);
        }

    } catch (Tymon\JWTAuth\Exceptions\TokenExpiredException $e) {

        $refreshed = JWTAuth::refresh(JWTAuth::getToken());
        $user = JWTAuth::setToken($refreshed)->toUser();
        return $this->response->withArray(['token' => $refreshed]);
    } catch (Tymon\JWTAuth\Exceptions\TokenInvalidException $e) {

        return response()->json(['token_invalid'], $e->getStatusCode());

    } catch (Tymon\JWTAuth\Exceptions\JWTException $e) {

        return response()->json(['token_absent'], $e->getStatusCode());

    }

    return $user;
}
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 php的curl不支持http2
    • ¥15 为什么我按照电路图做出的仿真和实物都不能使用
    • ¥15 mars2d在vue3中的引入问题
    • ¥50 h5唤醒支付宝并跳转至向小荷包转账界面
    • ¥15 算法题:数的划分,用记忆化DFS做WA求调
    • ¥15 chatglm-6b应用到django项目中,模型加载失败
    • ¥15 CreateBitmapFromWicBitmap内存释放问题。
    • ¥30 win c++ socket
    • ¥15 C# datagridview 栏位进度
    • ¥15 vue3页面el-table页面数据过多