"<p>In this video, we are going to add a JWT refresh token so the user can re-login without typing his login and password.</p> <h3>Step 1 : </h3> <p>Install the JWT Refresh Token Bundle : </p> <pre> <code>composer require gesdinet/jwt-refresh-token-bundle</code></pre> <h3>Step 2 : prepare the refresh token service route : </h3> <pre> <code>#config/routes.yml gesdinet_jwt_refresh_token: path: /api/token/refresh controller: gesdinet.jwtrefreshtoken::refresh</code></pre> <h3>Step 3 : Add a new rule under access_control:</h3> <pre> <code>#config/packages/security.yaml access_control:   - { path: ^/api/token/refresh, roles: IS_AUTHENTICATED_ANONYMOUSLY }</code></pre> <p>Step 4 : Run the migrations to add the new table refresh_tokens</p> <pre> <code>php bin/console make:migration php bin/console doctrine:migrations:migrate</code></pre> <p>Step 5 : Test the service (/api/token/refresh)</p> <p>If you want to change the ttl (Time To Live) of the refresh token you can add the following configuration :</p> <pre> <code># config/packages/gesdinet_jwt_refresh_token.yaml gesdinet_jwt_refresh_token: ttl: 2592000</code> </pre> <p> </p> <p>Discover more options in the <a href="https://github.com/markitosgv/JWTRefreshTokenBundle">JWT Refresh Token Bundle</a></p>"