Я использую поток паролей владельца ресурса, и я успешно получил токен доступа и токен обновления, и я не сохранил токен в базе данных, и все работает нормально локально. Но когда я развертываю сервер идентификации в производственной среде, токен обновления не работает должным образом. Я установил срок действия токена доступа 20 минут и обновил срок действия токена 7 дней.
если я обновляю токен доступа в течение 20 минут или до истечения срока действия токена доступа, затем обновляю токен обновления токена доступа и работаю должным образом, но после истечения срока действия токена доступа токен обновления не обновляет токен доступа и выдает ошибку invalid_grant.
Поскольку я не сохранил токен обновления в базе данных, и я искал в Google, но ответы вызывают путаницу.
Кто-нибудь может мне сказать:
Нужно ли мне хранить токен обновления, пока он работает нормально локально без сохранения? если да, любая ссылка на реализацию, я использую mysql в качестве базы данных.
или что-то еще мне нужно посмотреть.
Спасибо.
Ваш ответ ценен для меня.
При локальном запуске IdentityServer4 «из коробки» такие вещи, как токены обновления, не сохраняются, и это обычно нормально на ранних этапах разработки.
Однако при планировании развертывания вашего поставщика удостоверений на сервере вам все равно понадобится оперативное хранилище (для хранения грантов, согласия пользователей и т. д.).
Это оперативное хранилище также может хранить токены обновления и ссылочные токены (читайте об этом в Документы IdentityServer4).
Настроить хранилище токенов на IdP - хорошая идея. Хранение токенов открывает дверь для чистого отзыва токенов. Четко реализованный выход в клиентском приложении вызовет конечную точку отзыва токена на вашем IdP. Это потому, что когда пользователь выходит из системы, ни токен доступа, ни токен обновления больше не нужны.
Вы также можете отозвать токены со своей стороны, что приведет к сбою последующих вызовов API для этого токена доступа, и для этого также есть несколько убедительных вариантов использования.
Спасибо . Да, теперь я храню токен.