I've upgraded an Identity Server based project from the original Identity Server 4, to Duende's Identity Server 6. The upgrade appears to have worked but I've had to remove some existing code in order to get it to work.
This is the configuration we used to have in Startup.cs
services.AddIdentityServer()
.AddOperationalStore(options => {
options.RedisConnectionString = Configuration.GetConnectionString("Redis");
options.Db = 1;
})
.AddRedisCaching(options => {
options.RedisConnectionString = Configuration.GetConnectionString("Redis");
options.KeyPrefix = "custom_prefix";
})
.AddSigningCredential(new X509Certificate2(Path.Combine(HostingEnvironment.WebRootPath, "secretauth.pfx"), "secret_key"))
.AddUserStore() // Custom User Store
.AddResourceStore<CustomResourceStore>()
.AddClientStore<CustomClientStore>();
The prior version made use of IdentityServer4.Contrib.RedisStore which is no longer available to us as of Identity Server 6.
This means our new implementation doesn't have the option to add Redis caching for our session data and I can't see a Duende-relevant nuget package that might provide it.
Leaving us with just this;
services.AddIdentityServer(options =>
{
options.LicenseKey = Configuration.GetValue<string>(key: "Duende.IdentityServer:licenseKey");
})
.AddUserStore() // Custom User Store
.AddClientStore<CustomClientStore>()
.AddResourceStore<CustomResourceStore>();
Am I missing a potentially useful Nuget extension package somewhere or do we need to look at a whole new way of implementing Redis caching on our operational data store?