代码之家  ›  专栏  ›  技术社区  ›  Javed

Laravel:JWT刷新令牌以获取同一函数上的用户数据

  •  0
  • Javed  · 技术社区  · 7 年前

    我在用 Tymon\JWTAuth 在我的应用程序中。我想要的是,当我要刷新过期令牌时,它返回一个新生成的令牌,但我想在同一个函数中获取相同的用户数据。

    我的刷新功能:

    public function refresh()
    {
        $token      =  Auth::guard()->refresh();
        $user       = Auth::user(); // Return Null
        return response()->json([
            'status_code'       => 200,
            'token'             => $token,
            'user'              => $user
        ]);
    }
    

    回应:

    {
    "status_code": 200,
    "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOi8vMTkyLjE2OC41LjE1ODo4MDAwL2FwaS9hdXRoL3JlZnJlc2giLCJpYXQiOjE1MzM3OTUyOTUsImV4cCI6MTUzMzc5ODkwMSwibmJmIjoxNTMzNzk1MzAxLCJqdGkiJlMWxiamQ4c1F3UVM0TzhEIiwic3ViIjoxMiwicHJ2IjoiODdlMGFmMWVmOWZkMTU4MTJmZGVjOTcxNTNhMTRlMGIwNDc1NDZhYSJ9.vB9unghn2CCJSrzVP9V_Cna-x0Ez--0aF--D7yGfw",
    "user": null 
    }
    

    我该怎么做?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Mayuri Pansuriya    7 年前

    尝试 $user = JWTAuth::setToken($token)->toUser(); 其中$token是刷新的令牌