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

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 求解 yolo算法问题
    • ¥15 虚拟机打包apk出现错误
    • ¥30 最小化遗憾贪心算法上界
    • ¥15 用visual studi code完成html页面
    • ¥15 聚类分析或者python进行数据分析
    • ¥15 三菱伺服电机按启动按钮有使能但不动作
    • ¥15 js,页面2返回页面1时定位进入的设备
    • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
    • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
    • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝