/// <summary> /// Configure API key Basic authentication. /// </summary> /// <param name="builder">Authentication builder.</param> /// <param name="configuration">Configuration.</param> public static AuthenticationBuilder AddApiKeyBasicAuthentication( this AuthenticationBuilder builder, IConfiguration configuration) { ApiKeyBasicAuthenticationOptions configOptions = configuration.GetSection <ApiKeyBasicAuthenticationOptions>(); if (configOptions == null) { throw new ArgumentNullException(nameof(configuration), $"{nameof(ApiKeyBasicAuthenticationOptions)} not found in configuration"); } return(builder.AddScheme <ApiKeyBasicAuthenticationOptions, ApiKeyBasicAuthenticationHandler>(configOptions.Scheme, options => { options.ApiKey = configOptions.ApiKey; options.Scheme = configOptions.Scheme; })); }
public ApiKeyBasicAuthenticationHandlerShould() { _options = new ApiKeyBasicAuthenticationOptions() { Scheme = "Basic.ApiKey", ApiKey = "key2" }; _optionsMonitor = Substitute.For <IOptionsMonitor <ApiKeyBasicAuthenticationOptions> >(); _optionsMonitor.Get(_options.Scheme).Returns(_options); _loggerFactory = Substitute.For <ILoggerFactory>(); _loggerFactory.CreateLogger(Arg.Any <string>()).Returns(Substitute.For <ILogger>()); _handler = new ApiKeyBasicAuthenticationHandler( _optionsMonitor, _loggerFactory, Substitute.For <UrlEncoder>(), Substitute.For <ISystemClock>() ); }