Не могу понять в какой момент создается refreshToken а когда acces?

В React приложениях, обычно используется аутентификация с помощью токенов, таких как accessToken и refreshToken.

AccessToken - это токен, который предоставляет доступ для авторизованного пользователя к ресурсам на сервере. Он обычно имеет ограниченное время жизни (обычно несколько минут). Когда пользователь входит в приложение и предоставляет свои учетные данные, сервер генерирует accessToken, который возвращается клиенту. Клиент сохраняет токен (обычно в localStorage или в памяти) и использует его для аутентификации при каждом запросе к защищенным ресурсам на сервере. Если accessToken истекает, клиент должен получить новый токен, чтобы продолжить обращаться к защищенным ресурсам.

RefreshToken - это токен, который используется для обновления accessToken. Он обычно имеет долгосрочное время жизни (несколько дней или дольше). Когда refreshToken создается, сервер сохраняет его в базе данных, связывая его с пользователем. Клиент также сохраняет refreshToken локально, в localStorage или память, чтобы иметь возможность получить новый accessToken при его истечении. Когда accessToken истекает, клиент отправляет запрос к серверу, используя refreshToken, чтобы получить новый accessToken. Сервер проверяет валидность refreshToken и если он действителен, генерирует новый accessToken и возвращает его клиенту. Таким образом, клиент может получать новый accessToken без необходимости повторной аутентификации каждый раз.

Обычно, при загрузке React приложения, клиент проверяет наличие accessToken и refreshToken. Если они есть, клиент отправляет refreshToken на сервер для проверки. Если refreshToken все еще действителен, сервер возвращает новый accessToken. Если refreshToken не действителен, клиент должен перенаправить пользователя на страницу входа, чтобы снова пройти процесс аутентификации и получить новые токены.

Таким образом, refreshToken создается в момент аутентификации пользователя и сохраняется на сервере и клиентской стороне. AccessToken создается при каждой аутентификации и отправляется клиенту для использования при доступе к защищенным ресурсам на сервере. При истечении accessToken, клиент использует refreshToken для получения нового accessToken, чтобы продолжить использование приложения без повторной аутентификации.