feat: API-Schlüssel-Authentifizierungsfilter implementieren

- ApiKeyAuthFilter hinzugefügt, um API-Schlüssel aus den Anforderungs-Headern zu validieren.
- Der Filter überprüft das Vorhandensein eines API-Schlüssels und dessen Gültigkeit, bevor die Anforderung autorisiert wird.
- Der Standardname des API-Schlüssel-Headers ist auf "X-API-Key" festgelegt.
This commit is contained in:
Developer 02 2024-10-28 16:45:22 +01:00
parent 6e4a575864
commit 1ca336abe0

View File

@ -0,0 +1,18 @@
using Microsoft.AspNetCore.Mvc.Filters;
using Microsoft.AspNetCore.Mvc;
namespace WorkFlow.API.Filters
{
public class ApiKeyAuthFilter(Func<string, bool> isValidKey, string apiKeyHeaderName = "X-API-Key") : IAuthorizationFilter
{
public void OnAuthorization(AuthorizationFilterContext context)
{
string? apiKey = context.HttpContext.Request.Headers[apiKeyHeaderName];
if (apiKey is null || !isValidKey(apiKey))
{
context.Result = new UnauthorizedResult();
}
}
}
}