在我的 ASP.Net Core Mvc 机密 Web 应用程序中,我正在使用带有 AAD 的 Microsoft Identity Web / Platform,我想将其称为下游 WebAPI。Web 应用 Startup.cs 如下:
services.AddMicrosoftIdentityWebAppAuthentication(Configuration)
.EnableTokenAcquisitionToCallDownstreamApi(new string[] { Configuration["ConfigSection:ConfigSectionScopes"] })
.AddInMemoryTokenCaches();
当用户登录时,如果我理解正确,他们的访问令牌(在登录时获得,身份验证代码流也请求访问令牌)存储在 InMemoryTokenCache 中。
如何从 MVC 控制器访问已登录用户的令牌缓存?我可以通过ITokenAcquisition
and GetAccessTokenForUserAsync
(提供范围)成功获取令牌,但我想检查缓存以确定令牌是否存在以及用户是否存在其他令牌。我试过var accounts = await app.GetAccountsAsync();
了,但这总是空的。