public ClientStore(RedisMultiplexer <RedisConfigurationStoreOptions> multiplexer, ILogger <PersistedGrantStore> logger, ISystemClock clock)
 {
     if (multiplexer is null)
     {
         throw new ArgumentNullException(nameof(multiplexer));
     }
     options     = multiplexer.RedisOptions;
     database    = multiplexer.Database;
     this.logger = logger ?? throw new ArgumentNullException(nameof(logger));
     this.clock  = clock;
 }
Exemple #2
0
        /// <summary>
        /// Add Redis Configuration Store.
        /// </summary>
        /// <param name="builder"></param>
        /// <param name="optionsBuilder">Redis Configuration Store Options builder</param>
        /// <returns></returns>
        public static IIdentityServerBuilder AddConfigurationStore(this IIdentityServerBuilder builder, Action <RedisConfigurationStoreOptions> optionsBuilder)
        {
            var options = new RedisConfigurationStoreOptions();

            optionsBuilder?.Invoke(options);
            builder.Services.AddSingleton(options);

            builder.Services.AddScoped <RedisMultiplexer <RedisConfigurationStoreOptions> >();
            builder.Services.AddTransient <IClientStore, ClientStore>();
            builder.Services.AddTransient <IResourceStore, ResourceStore>();
            return(builder);
        }
Exemple #3
0
 public ResourceStore(RedisMultiplexer <RedisConfigurationStoreOptions> multiplexer, ILogger <PersistedGrantStore> logger, ISystemClock clock)
 {
     if (multiplexer is null)
     {
         throw new ArgumentNullException(nameof(multiplexer));
     }
     options     = multiplexer.RedisOptions;
     database    = multiplexer.Database;
     server      = database.Multiplexer.GetServer(multiplexer.Database.IdentifyEndpoint());
     this.logger = logger ?? throw new ArgumentNullException(nameof(logger));
     this.clock  = clock;
 }