当您使用AuthenticationContext.AcquireTokenAsync(...)强制登录时,TokenCache中实际更改或更新了什么?

时间:2018-08-15 20:54:07

标签: adal

我试图弄清楚这个对象的生命周期。我想您登录时会同时获得身份验证和访问令牌。当您启动AcquireTokenSilentAsync时,您依赖于缓存中的Authentication,希望获得访问令牌。这是正确的吗?

1 个答案:

答案 0 :(得分:0)

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