由网友(无字情书°)分享简介:我的WebAPI应用程序在启动时从服务获取令牌。然后在共享的HTTP客户端中使用此令牌,以防止端口耗尽。此令牌即将过期时,我想获取一个新令牌并将其保存在我的服务中以供重复使用。在我的实现中,检索令牌-但是它与原始令牌具有相同的过期时间:// Retrieve the token and assign to Auth...![WOT丨额外的3个令牌在路上了 战令第10赛季收藏功能将于1.20.1版本更新后上线](https://p.xsw88.cn/allimgs/daicuo/20230903/4950.png)
我的WebAPI应用程序在启动时从服务获取令牌。然后在共享的HTTP客户端中使用此令牌,以防止端口耗尽。
此令牌即将过期时,我想获取一个新令牌并将其保存在我的服务中以供重复使用。
![WOT丨额外的3个令牌在路上了 战令第10赛季收藏功能将于1.20.1版本更新后上线](https://p.xsw88.cn/allimgs/daicuo/20230903/4950.png)
在我的实现中,检索令牌-但是它与原始令牌具有相同的过期时间:
// Retrieve the token and assign to AuthenticationResult
private async Task GetAPIToken()
{
AuthenticationContext authContext = new AuthenticationContext(Authority);
var clientCredential = new ClientCredential(clientId, clientSecret);
// Same token after multiple calls
AuthenticationResult = await authContext.AcquireTokenAsync(resourceId, clientCredential).ConfigureAwait(false);
}
如何保存最新的身份验证令牌?
推荐答案
此处的问题是AuthenticationContext authContext = new AuthenticationContext(Authority);
将缓存令牌,并在令牌未过期时检索它。
禁用缓存并亲自管理令牌生命周期是一种解决方案:
AuthenticationContext authContext = new AuthenticationContext(Authority, null);
相关推荐
最新文章