Azure MSAL:将令牌缓存与客户端凭据一起使用

Azure MSAL: Using the Token cache with client credentials

我为我的应用程序获取令牌的方式目前如下所示:

        IConfidentialClientApplication app = ConfidentialClientApplicationBuilder.Create(_clientId)
           .WithClientSecret(_clientSecret)
           .WithAuthority(new Uri(_authority))
           .Build();
        var result = await app.AcquireTokenForClient("MY SCOPES ARRAY").ExecuteAsync();

但每次我调用“AcquireTokenAsync”时都会返回另一个令牌。
这意味着没有使用令牌缓存,但对我的 API 的每个单独请求也会收到另一个令牌。
这不是必须的。

如何配置“ClientCredentialsTokenAcquisitionClient”以使用令牌缓存?

阅读 Microsoft 的 official docs 只告诉我有关用户令牌缓存的信息。
因此,如果我以用户的名义静默获取令牌,我知道如何缓存我的令牌。但是如何与机密客户做到这一点?

我想阻止对 MS 令牌端点的数千次不必要的调用。

您是否已将此调用包含在您的设置中? 它告诉库缓存令牌。您可以通过多种方式实现它,这里是一个示例。

services.AddMemoryCache();