我有一个 ASP.NET Core MVC 应用程序,它使用 HttpClient 调用 ASP.NET Core WebApi,但我必须发送授权标头,问题是我的 HttpClient 不会发送授权标头。
我有一个调用具有以下构造函数的 webapi 的服务:
public ApiService(HttpClient httpClient, IHttpContextAccessor accessor)
{
string token = accessor.HttpContext.User.FindFirstValue("JWToken"); // gets user token
httpClient.BaseAddress = new Uri(AppSettings.BaseUrlApi); //sets the base URL of the webapi
httpClient.DefaultRequestHeaders.Add("Accept", "application/json");
httpClient.Timeout = TimeSpan.FromMinutes(1);
httpClient.DefaultRequestHeaders.Authorization
= new AuthenticationHeaderValue("Bearer", token);
_httpClient = httpClient; // assigns to a private property "private readonly HttpClient _httpClient;"
}
Run Code Online (Sandbox Code Playgroud)
然后,当我将数据发布到 webapi 时,我使用以下方法:
public async Task<User> PostAsync(string url, User user)
{
StringContent jsonContent = new StringContent( …Run Code Online (Sandbox Code Playgroud)