Duende Storage
Duende Storage is a relational persistence layer shared by Duende products. IdentityServer adapters connect its configuration and operational store interfaces to the storage layer, so IdentityServer continues to use the same abstractions during protocol processing.
How Duende Storage Works
Section titled “How Duende Storage Works”The provider has four parts:
- A database-specific package connects Duende Storage to SQL Server, PostgreSQL, Oracle or SQLite.
- The storage layer persists entities with versioning, indexing and expiration support.
- IdentityServer adapters implement its configuration and operational store interfaces.
- Optional administration APIs and schemas let your application manage and extend configuration data.
Why Use Duende Storage?
Section titled “Why Use Duende Storage?”Choose Duende Storage when you need one or more of these capabilities:
- Configuration administration through supported service APIs, without writing directly to database tables.
- Schema-validated custom properties on clients and resources.
- Consistent querying and optimistic concurrency across supported databases.
- Storage pools that isolate data for Spaces.
- A shared persistence model across Duende products.
The Entity Framework Core provider remains a good choice when your
application already uses EF Core and your team wants to manage DbContext types, mappings and migrations directly.
In-memory stores remain useful for development or deployment-controlled
configuration. A custom store gives you complete control when neither built-in
approach matches your requirements.
Supported Databases
Section titled “Supported Databases”Choose the package that matches your database:
| Database | Package | Registration |
|---|---|---|
| SQL Server | Duende.Storage.MsSql | AddMsSqlStore |
| PostgreSQL | Duende.Storage.PostgreSql | AddPostgreSqlStore |
| Oracle | Duende.Storage.Oracle | AddOracleStore |
| SQLite | Duende.Storage.Sqlite | AddSqliteStore |