AcquireTokenAsync not returning a new token(AcquireTokenAsync未返回新令牌)
本文介绍了AcquireTokenAsync未返回新令牌的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的WebAPI应用程序在启动时从服务获取令牌。然后在共享的HTTP客户端中使用此令牌,以防止端口耗尽。
此令牌即将过期时,我想获取一个新令牌并将其保存在我的服务中以供重复使用。
在我的实现中,检索令牌-但是它与原始令牌具有相同的过期时间:
// 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);
这篇关于AcquireTokenAsync未返回新令牌的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:AcquireTokenAsync未返回新令牌
猜你喜欢
- C# 通过连接字符串检索正确的 DbConnection 对象 2022-01-01
- 带问号的 nvarchar 列结果 2022-01-01
- Windows 喜欢在 LINUX 中使用 MONO 进行服务开发? 2022-01-01
- 在 C# 中异步处理项目队列 2022-01-01
- 使用 rss + c# 2022-01-01
- 在 LINQ to SQL 中使用 contains() 2022-01-01
- 为什么 C# 中的堆栈大小正好是 1 MB? 2022-01-01
- Azure Active Directory 与 MVC,客户端和资源标识同一 2022-01-01
- CanBeNull和ReSharper-将其用于异步任务? 2022-01-01
- 是否可以在 .Net 3.5 中进行通用控件? 2022-01-01