我已使用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
在两个调用中,它都返回相同的标记。
然而,对于每次重新执行,它都会返回新的令牌。
答案 0 :(得分:1)
这是因为在AuthenticationContext
内,有TokenCache
来缓存id_token
。因此,如果您希望每次调用AcquireTokenAsync
时都有新令牌,则在创建TokenCache
对象时设置AuthenticationContext
为空:
AuthenticationContext authContext = new AuthenticationContext(authority, false, null);
请选择the link
答案 1 :(得分:1)
ADAL上下文缓存保留令牌。如果您需要刷新它,请使用
清除缓存 authContext.TokenCache.Clear();
它将清除缓存。