У меня есть веб-приложение ASP.net MVC, которое использует промежуточное ПО Microsoft Owin (Microsoft.Owin.Security.OpenIdConnect) для настройки аутентификации OpenID Connect. Мой поставщик удостоверений (Okta) настроен для поддержки токенов обновления, и я подтвердил, что он работает. При входе в систему мое приложение получает токен доступа, идентификатора и обновления, как и ожидалось. Эти токены проверяются и возвращаются клиенту в файле cookie с именем .AspNet.Cookies (по умолчанию). При каждом запросе cookie и эти токены разбираются в набор утверждений. Пока отлично. ????
Похоже, что промежуточное программное обеспечение Owin (Katana) больше ничего не делает с токеном обновления, поэтому я реализовал клиент токена для запроса нового токена доступа у моего IdP с помощью токена обновления. Это работает, как ожидалось. ????
Два вопроса:
- Когда и где приложение должно проверить, не истек ли токен доступа, и запросить новый?
- После получения нового токена доступа, идентификатора и обновления, как и где приложение должно обновлять удостоверение пользователя, утверждения и файл cookie?