Я хочу реализовать JWT-аутентификацию для своих REST API. Клиент - это веб-приложение Reactjs, а серверная часть - это Expressjs REST API.
Предположим этот сценарий,
- Пользователь получает доступ / маршрут входа, сервер генерирует токен доступа и токен обновления и отправляет их клиенту. Где мне хранить токен доступа и токен обновления? Могу ли я также хранить токен обновления в своей БД вместе с конкретным идентификатором пользователя?
- Срок действия токена доступа истек. Как мне обновить его, не заставляя пользователя снова входить в систему с учетными данными?
Нужно ли клиенту знать о токене обновления? Когда он пытается получить доступ к маршруту с истекшим токеном доступа, сервер может просто проверить его и использовать токен обновления, связанный с идентификатором пользователя из БД, и сгенерировать новый токен доступа для клиента.