Javed
Javed

Reputation: 857

Laravel : JWT refresh token to get user data on same function

I am using Tymon\JWTAuth in my app.What I want that when I am going refresh expired token it is return a new generated token but i want to get same user data in same function.

My refresh function :

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

Response :

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

How can I do this ?

Upvotes: 0

Views: 761

Answers (1)

Mayuri Pansuriya
Mayuri Pansuriya

Reputation: 954

try $user = JWTAuth::setToken($token)->toUser(); where $token is the refreshed token

Upvotes: 2

Related Questions