机密客户端应用程序是否对所有实例都具有公共缓存?

时间:2019-05-27 08:43:47

标签: c# azure-active-directory azure-keyvault msal

有一个示例,说明如何使用MSAL here获取客户端凭据的令牌。例如

var app = ConfidentialClientApplicationBuilder.Create(config.ClientId)
    .WithAuthority(authority)
    .WithCertificate(certificate)
    .Build();

现在,这每次都会创建一个新的ConfidentialClientApplication,所以我想知道内部的令牌缓存是否将被共享?

我将其用于KeyVault集成,并且权限来自密钥库回调,因此我无法事先编写ConfidentialClientApplication,所以我想知道是否每次都可以这样做,否则缓存将变得无用吗?

或者,我将不得不使用某种惰性初始化来记住每个权限的ConfidentialClientApplication实例。

1 个答案:

答案 0 :(得分:0)

我自己得到了答案,这显然很容易:我只是叫了两个不同的ConfidentialClientApplication并比较了令牌,它们是不同的。

也关闭了网络,第二次缓存调用失败。

因此,这绝对意味着不涉及共享缓存。