14 lines
646 B
C#
14 lines
646 B
C#
using WorkFlow.API.Filters;
|
|
using WorkFlow.API.Models;
|
|
|
|
namespace WorkFlow.API.Extensions
|
|
{
|
|
public static class DIExtensions
|
|
{
|
|
public static IServiceCollection AddAPIKeyAuth(this IServiceCollection services, Func<string, bool> isValidKey, string headerName = "X-API-Key")
|
|
=> services.AddSingleton<APIKeyAuthFilter>(provider => new(isValidKey: isValidKey, headerName: headerName));
|
|
|
|
public static IServiceCollection AddAPIKeyAuth(this IServiceCollection services, APIKeyAuthOptions options)
|
|
=> services.AddAPIKeyAuth(isValidKey: key => key == options.Key, headerName: options.HeaderName);
|
|
}
|
|
} |