AcquireToken async在到期时间之前返回相同的令牌

时间:2017-10-24 13:54:52

标签: azure oauth token azure-active-directory

我已使用Azure AD App注册注册了我的应用程序。

在我的场景中,我使用Azure Adal AquireTokenAsync方法和客户端凭据,该方法始终返回相同的令牌。

我需要为每个用户会话添加一个新令牌。

出于测试目的,我创建了控制台应用程序来测试行为。

$ awk '{split($1,f1,"_")} f1[4]>=500' file

NODE_1_length_4014_cov_1.97676  1   1
NODE_1_length_4014_cov_1.97676  2   1
NODE_1_length_4014_cov_1.97676  3   1
NODE_1_length_4014_cov_1.97676  4   1

在两个调用中,它都返回相同的标记。

然而,对于每次重新执行,它都会返回新的令牌。

2 个答案:

答案 0 :(得分:1)

这是因为在AuthenticationContext内,有TokenCache来缓存id_token。因此,如果您希望每次调用AcquireTokenAsync时都有新令牌,则在创建TokenCache对象时设置AuthenticationContext为空:

AuthenticationContext authContext = new AuthenticationContext(authority, false, null);

请选择the link

答案 1 :(得分:1)

ADAL上下文缓存保留令牌。如果您需要刷新它,请使用

清除缓存
  authContext.TokenCache.Clear();

它将清除缓存。