Storage Providers
Duende IdentityServer abstracts data access behind store interfaces. You choose which provider backs those interfaces.
Entity Framework CoreUse any EF Core-supported database (SQL Server, PostgreSQL, SQLite and more) for durable, production-ready storage.
In-MemoryKeep all data in application memory. Ideal for development, testing and simple scenarios where durability is not required.
Duende StorageUse Duende's portable storage layer, configuration administration APIs, extensible schemas and Spaces support.
CustomImplement the store interfaces yourself to use any database, storage backend or data access technology.
Configuration and operational data have different lifecycles. You can choose one provider for both or combine providers when your deployment needs different behavior for each kind of data.
| Provider | How It Works | Choose It When |
|---|---|---|
| In-memory | Keeps data in the IdentityServer process. | You are developing, testing or can redeploy whenever configuration changes. Do not use it for production operational data. |
| Entity Framework Core | Maps IdentityServer entities to relational tables through Entity Framework Core. | Your team already uses EF Core and wants direct control over its contexts, mappings and migrations. |
| Duende Storage | Stores versioned entities through a common relational storage layer and supplies administration APIs. | You need runtime configuration management, extensible configuration data or Spaces, without building every store yourself. |
| Custom | Replaces IdentityServer store interfaces with your implementations. | You need a database or data-access pattern that the built-in providers do not support. |
Duende Storage was introduced to give Duende products a shared persistence model. It separates IdentityServer’s store interfaces from database-specific implementations, supplies consistent querying and optimistic concurrency and supports isolated storage pools. The existing providers remain supported and may be a better fit when you prefer their simpler or more direct model.