using System.Net; using System.Net.Http; using System.Threading; using System.Threading.Tasks; using IdentityModel; namespace FarmmapsApi.HttpMessageHandlers { public class FarmmapsAuthenticationHandler : DelegatingHandler { protected override async Task SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) { if (!OidcConstants.AuthenticationSchemes.AuthorizationHeaderBearer.Equals(request.Headers?.Authorization.Scheme) || string.IsNullOrEmpty(request.Headers?.Authorization.Parameter)) { return new HttpResponseMessage(HttpStatusCode.Unauthorized) { Content = new StringContent("You must authenticated before using the API") }; } return await base.SendAsync(request, cancellationToken); } } }