Exemple #1
0
        /// <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;
            }));
        }
Exemple #2
0
 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>()
         );
 }