Из документации :
Если специально не настроено, мы всегда будем предоставлять хранилища версий в памяти для кодов авторизации, согласия, ссылки и токенов обновления.
Обратите внимание, что они говорят о эталонных токенах и токенах обновления .Токены доступа JWT и токены идентификации не сохраняются.
Чтобы использовать токен обновления в IdentityServer3 (а также IdentityServer4 ), он должен соответствовать сохраненному токену.
Основным преимуществом этого является то, что вы можете контролировать токен.Вы можете отозвать его (удалить из хранилища) и определить, как его использовать: OneTime или ReUse.
Я не знаком с IdentityServer3, но вы можете взглянуть на github и найти код, где RevocationEndpoint - место, где токен обновления удален из хранилища.Это может дать подсказку о том, как получить доступ и использовать хранилище.
При хранении в памяти токены теряются при перезапуске IdentityServer.Поэтому сохранение их в постоянном хранилище, например в базе данных, - хорошая вещь для производственных серверов.Для IdentityServer4 вы можете реализовать оперативное хранилище .
Обратите внимание, что токены JWT остаются действительными независимо от перезапуска сервера, если только закрытый ключ также не сохраняется.В этом случае IdentityServer не может проверить токен, и у него нет другого выбора, кроме как считать токены JWT недействительными.
Таким образом, для производственных сред следует сохранять ключи и данные, и использование базы данных - это нормально.Как вы можете видеть в IdentityServer4, есть поддержка для этого.
Говоря о IdentityServer4, так как (бесплатная) поддержка IdentityServer3 имеет закончилась Я бы порекомендовал переключиться на IdentityServer4, если вы находитесь вположение, чтобы сделать это.Поскольку обе версии реализуют oidc / auth2, вы сможете продолжать использовать клиенты с обновленным IdentityServer.На stackoverflow есть вопросы, которые могут помочь вам в этом.И взгляните на документацию IdentityServer4, она очень информативна.