【发布时间】:2020-10-09 14:24:39
【问题描述】:
一些外部服务不提供长期 API 密钥,为了向他们的 API 发出请求,我需要首先发出登录请求,该请求返回 authToken 和 refreshToken。
在我的 .NET 核心应用程序中,我希望有一个服务类,它将从此外部 API 返回数据。
现在我将此服务注册为 Typed HttpClient:
services.AddHttpClient<IExternalService, ExternalService>();
但是这样一来,所有服务方法都必须调用登录方法来获取 authHeader,然后再向此外部 API 发出任何其他请求。
我想避免它并将 authHeader 保存在某处并由所有服务方法使用它,直到它们收到 403 未经授权的响应,然后才调用登录方法以获取新的 authToken
实现此用例的最佳方法是什么?
【问题讨论】:
-
您是否考虑过使用管理身份验证状态的单例服务?
标签: c# asp.net-core .net-core