无法使用 http 消息处理程序将不记名令牌添加到 httpclient 对象

问题描述 投票:0回答:0

我正在尝试使用 httpmessagehandler 添加不记名令牌,如下所示

protected override async Task<HttpResponseMessage> SendAsync(
       HttpRequestMessage request,
       CancellationToken cancellationToken)
    {
        var accessToken = await this.GetBearerToken();
        // set the bearer token to the outgoing request
        //request.SetBearerToken(accessToken);
        request.Headers.Add("bearer", accessToken);
        request.Headers.AddOrUpdate(CoreConstant.APIHeader.Accept, CoreConstant.ContentType.Json);
        return await base.SendAsync(request, cancellationToken);
    }

在服务文件中我只是发送请求

public async Task<List<VormetricResponse>> VormetricHttpAsync(string URL, string json)
    {

        var content = new StringContent(json, Encoding.UTF8, "application/json");
        content.Headers.Add("Ocp-Apim-Subscription-Key",this,SubscriptionKey);
        content.Headers.Add("apiVersion", this.ApiVersion);
        var response = await this.httpClient.PostAsync(URL, content);
        
        var responseString = await response.Content.ReadAsStringAsync();
        List<VormetricResponse> tokenResponse = 
          JsonConvert.DeserializeObject<List<VormetricResponse>>(responseString);
        return tokenResponse;
    }

在注册表文件中

services.AddHttpClient<IVormetricService, VormetricService>()
        .AddHttpMessageHandler<VormetricBearerTokenHandler>();

调试时我看到 Bearer 令牌没有附加到 VormetricService 文件中的 httpclient 对象。知道我想念什么吗?

c# .net-core bearer-token message-handlers
© www.soinside.com 2019 - 2024. All rights reserved.