jwt:refresh token


let's see how to refresh the issued token in jwt(Json Web Token) which is one of the token based authentication systems.


we will talk about how to refresh the issued token when user was login in jwt authentication system. this blog is a series. if you want to know how to install jwt middleware, signup, signin and get the user information, see our previous blogs.


we’ve made the repository of jwt authentication system. click below link to see our repository.

Development Environment

in here, we’ll use Laravel development environment created by Laradock and Ansible. if you want to know our environment, see our previous blog.

Modify Controller

open /app/Http/Controllers/JWTAuthController.php file in Laravel project folder and add below code.

public function refresh() {
    return $this->respondWithToken(Auth::guard('api')->refresh());

Modify Route

open /routes/api.php file for the url which is to refresh jwt token, and add below code.

Route::group(['middleware' => 'auth:api'], function(){
    Route::get('refresh', 'JWTAuthController@refresh')->name('api.jwt.refresh');


let’s test jwt token refresh feature we’ve developed via Postman.

# header
Bearer jwt_token

if jwt token is valid, jwt token is refreshed and issues new token like below screen.

refresh token

if jwt token is expired or previous jwt token, you can get 401 error response.

fail to refresh token


we’ve seen how to refresh jwt token which user got after login in jwt authentication system. at next blog post, we will introduce how to add logout feature which is last feature in jwt authentication system.

Buy me a coffeeBuy me a coffee