我想使用adal4j库来完成与蓝色广告相关的任务。它似乎不支持访问令牌的本地缓存,不是吗?还有没有其他库提供这种支持?
发布于 2016-07-09 04:17:41
大多数开源库只提供协议实现。ADAL4J不提供缓存支持(与其他ADAL不同),但从开发人员那里抽象出协议细节,以便他们可以与Azure AD集成。您可以考虑自己保存AuthenticationResult,并在访问令牌过期时使用结果中的刷新令牌。为此,您可以调用acquireTokenUsingRefreshToken。
发布于 2016-07-11 19:24:10
正如@KanishkPanwar-MSFT所说,ADAL4j不支持任何访问令牌的缓存机制。
然而,据我所知,有一个指南显示了如何缓存访问令牌,这来自文章Best Practices for OAuth 2.0 in Azure AD的“缓存访问令牌”一节。
缓存访问令牌
为了最大限度地减少来自客户端应用程序的网络调用及其相关延迟,客户端应用程序应该在OAuth 2.0响应中指定的令牌生存期内缓存访问令牌。要确定令牌生存期,请使用expires_in或expires_on参数值。
如果web API资源返回invalid_token错误代码,则可能表示该资源已确定令牌已过期。如果客户端和资源时钟时间不同(称为“时间偏差”),则在从客户端缓存中清除令牌之前,资源可能认为令牌已过期。如果发生这种情况,请从缓存中清除该令牌,即使该令牌仍在其计算的生存期内。
同时,有一篇我认为您可以参考的Caching access tokens in a multitenant application文章,其中包含一些.NET的示例代码。
https://stackoverflow.com/questions/38259323
复制相似问题