Я следил за Quickstart на странице документации и имел рабочую конфигурацию из трех служб (IdentityServer, один сервис Api, одно приложение ASPNET MVC), используя IdentityServer для аутентификации.
Все работает отлично (логин, логин, авторизация и т.д.) до истечения 1 часа после истечения срока действия access_token. На этом этапе приложение MVC начинает получать (правильно) 401 из службы API (поскольку токен истек). В этот момент я знаю, что я должен использовать refresh_token, чтобы получить новый access_token.
Я искал механизм, который автоматически обновлял access_token и наткнулся на это: https://github.com/mderriey/TokenRenewal/blob/master/src/MvcClient/Startup.cs (от этот ответ). Я попытался использовать это, но он не сработал (TokenEndpointResponse
был пустым, даже если аутентификация прошла успешно).
Я понимаю, как использовать refresh_token
, чтобы получить новый access_token
, но после того, как у меня есть, как бы я мог вставить его обратно в файл cookie, чтобы будущий запрос имел доступ к новым токенам?