Simple and secure custom API Keys using ASP.NET Core
public class ApiKeyFilter : IAuthorizationFilter { private const string ApiKeyName = "api_key"; private const string ApiKeyValue = "abcdefghijklmnopqrstuvwxyz"; public void OnAuthorization(AuthorizationFilterContext context) { if (!context.HttpContext.Request.Headers.TryGetValue(ApiKeyName, out var potentialApiKey)) { context.Result = new UnauthorizedResult(); return; } if (!ApiKeyValue.Equals(potentialApiKey)) { context.Result = new UnauthorizedResult(); return; } } }