gpt4 book ai didi

.net-core - 通过 HttpClientFactory 使用异步检索身份验证 token

转载 作者:行者123 更新时间:2023-12-05 06:23:01 28 4
gpt4 key购买 nike

我正在尝试将 HttpClientFactory 配置为使用授权 header 。问题是必须从 auth 服务检索 auth token ,这是另一个 HTTP 调用,最好使用 await 来完成。然而,这并没有像预期的那样工作(至少在 ASP.NET Core 2.2 中没有):

// Func<IServiceProvider, Task<string>> tokenFactory = ...
builder.ConfigureHttpClient(async (provider, httpClient) =>
{
string token = await tokenFactory(provider);
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
});

看起来只要涉及传递给 ConfigureHttpClient 的操作,就不会等待。

关于解决方法的任何想法?应该改进 ConfigureHttpClient 还是我缺少一些允许这样做的现有功能?

最佳答案

看看这个答案:

How to Refresh a token using IHttpClientFactory

在发送请求之前创建一个单独的 DelegatingHandler 来处理 HttpClient 请求。在此处理程序中,可以解决异步调用。

关于.net-core - 通过 HttpClientFactory 使用异步检索身份验证 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58702250/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com