我正在尝试使用 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 对象。知道我想念什么吗?