adal - 当您使用 AuthenticationContext.AcquireTokenAsync(...) 强制登录时,TokenCache 中实际更改或更新了什么?
问题描述
我试图弄清楚这个对象的生命周期。我想当您登录时,您既获得了身份验证,又获得了访问令牌。当您触发 AcquireTokenSilentAsync 时,您依赖缓存中的身份验证,希望获得访问令牌。这个对吗?
解决方案
AquireTokenAsync 用于在 ADA.NET 中以交互方式获取令牌,一旦 ADAL.NET 获取令牌,它就会将其与刷新令牌一起缓存。当您下次使用 AcquireTokenSilentAsync 时,当应用程序需要令牌时,它首先检查可接受的令牌是否在缓存中并且未过期,然后将其返回。如果缓存中仍有过期令牌,则 AcquireTokenSilentAsync 使用缓存的刷新令牌通过从 Azure Active Directory 请求另一个访问令牌和刷新令牌来刷新访问令牌。当缓存中没有令牌时,AcquireTokenSilentAsync 会引发 AdalSilentTokenAcquisitionException,应用程序将需要调用 AcquireTokenAsync 来获取令牌。
推荐阅读
- python - Python - 如何检查 Pandas DataFrame 列中的数据格式?
- c# - 图标路径不存在
- javascript - 将 Vue.js 与 vue-socket-io 一起使用
- python - 仅在数据框的一部分上的热图?
- python - 与 Python 中的 "!==" 函数有关的错误
- java - Android Studio Java,访问计步器
- android - 如何使用 androids 功能嗅探蓝牙 htc 包
- python-3.x - 具有序列 Metpy 的数组元素
- sql - Ruby ORM 插入记录
- r - 如何访问 scale_color_manual 中的默认颜色标签?