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; }
/// <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); }
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; }