|
|
@ -12,29 +12,13 @@ public class HttpClientAuthorizationDelegatingHandler |
|
|
|
|
|
|
|
protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) |
|
|
|
{ |
|
|
|
var authorizationHeader = _httpContextAccessor.HttpContext |
|
|
|
.Request.Headers["Authorization"]; |
|
|
|
var accessToken = await _httpContextAccessor.HttpContext.GetTokenAsync("access_token"); |
|
|
|
|
|
|
|
if (!string.IsNullOrEmpty(authorizationHeader)) |
|
|
|
if (accessToken is not null) |
|
|
|
{ |
|
|
|
request.Headers.Add("Authorization", new List<string>() { authorizationHeader }); |
|
|
|
} |
|
|
|
|
|
|
|
var token = await GetToken(); |
|
|
|
|
|
|
|
if (token != null) |
|
|
|
{ |
|
|
|
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", token); |
|
|
|
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", accessToken); |
|
|
|
} |
|
|
|
|
|
|
|
return await base.SendAsync(request, cancellationToken); |
|
|
|
} |
|
|
|
|
|
|
|
async Task<string> GetToken() |
|
|
|
{ |
|
|
|
const string ACCESS_TOKEN = "access_token"; |
|
|
|
|
|
|
|
return await _httpContextAccessor.HttpContext |
|
|
|
.GetTokenAsync(ACCESS_TOKEN); |
|
|
|
} |
|
|
|
} |