使用 ADAL v3 和 Windows 凭据管理器缓存刷新令牌

Caching refresh tokens using ADAL v3 and Windows Credential Manager

我有一个 VSTO 插件,我希望用户使用 AAD 登录,以便它可以访问下游服务,但为了减少登录提示的数量,我想在 Windows 凭据管理器中缓存刷新令牌。

我相信 ADAL v3 不允许访问刷新令牌,因此我将不胜感激有关如何实现这一点的任何建议。 Windows 中是否有令牌缓存来包装访问凭据管理器?

ADAL v3 .NET 将刷新令牌保存在其内存缓存中。如果你想让它们持久化,你可以通过提供一个自定义缓存 class 来保存整个缓存,将它作为一个 blob 保存在你选择的任何存储中,包括 cred manager(挑战是你需要分片缓存以处理固定长度的 credman 条目)。查看 https://github.com/Azure-Samples/active-directory-dotnet-native-desktop

的客户端部分