MSAL / ASP.NET Core - как проверить содержимое кеша токенов?
В моем конфиденциальном веб-приложении ASP.Net Core Mvc я использую Microsoft Identity Web / Platform с AAD, который я хотел бы назвать нисходящим WebAPI. Веб-приложение Startup.cs выглядит следующим образом:
services.AddMicrosoftIdentityWebAppAuthentication(Configuration)
.EnableTokenAcquisitionToCallDownstreamApi(new string[] { Configuration["ConfigSection:ConfigSectionScopes"] })
.AddInMemoryTokenCaches();
Когда пользователь входит в систему, если я правильно понял, их токен доступа (полученный при входе, поток кода аутентификации также запрашивает токен доступа) сохраняется в InMemoryTokenCache.
Как получить доступ к кешу токенов для вошедшего в систему пользователя с помощью контроллера? Я могу успешно получить токен с помощью и (с указанием области действия), но я хотел бы проверить кеш, чтобы определить, есть ли токен и присутствуют ли другие токены для пользователя. Я пытался
но это всегда ноль. Я правильно / неверно понимаю, что когда пользователь входит в систему, собирается токен доступа (на основе Startup.cs
и хранится в кеше токенов? Или просто код аутентификации сохраняется и используется, когда я впервые использую и для получения токена (и если срок действия кода истек, пользователь должен повторно выполнить аутентификацию, чтобы получить новый)? Я пытаюсь понять из 2. что хранится / где при входе пользователя в систему и на что я впервые обращаюсь
а также использует для получения токена (какое-то утверждение?), потому что я замечаю, что если я вхожу в систему, оставляю страницу неактивной в течение определенного периода времени, а затем пытаюсь получить доступ к странице / контроллеру, который должен получить новый токен доступа для нижестоящий WebAPI, он не работает, поскольку я предполагаю, что что-то истекло.
Любые советы были бы отличными, спасибо