首页 > 解决方案 > 当您使用 AuthenticationContext.AcquireTokenAsync(...) 强制登录时,TokenCache 中实际更改或更新了什么?

问题描述

我试图弄清楚这个对象的生命周期。我想当您登录时,您既获得了身份验证,又获得了访问令牌。当您触发 AcquireTokenSilentAsync 时,您依赖缓存中的身份验证,希望获得访问令牌。这个对吗?

标签: adal

解决方案


AquireTokenAsync 用于在 ADA.NET 中以交互方式获取令牌,一旦 ADAL.NET 获取令牌,它就会将其与刷新令牌一起缓存。当您下次使用 AcquireTokenSilentAsync 时,当应用程序需要令牌时,它首先检查可接受的令牌是否在缓存中并且未过期,然后将其返回。如果缓存中仍有过期令牌,则 AcquireTokenSilentAsync 使用缓存的刷新令牌通过从 Azure Active Directory 请求另一个访问令牌和刷新令牌来刷新访问令牌。当缓存中没有令牌时,AcquireTokenSilentAsync 会引发 AdalSilentTokenAcquisitionException,应用程序将需要调用 AcquireTokenAsync 来获取令牌。


推荐阅读