Realms (Multi-Tenancy)

A Realm turns a single IdentityServerNET instance into a multi-tenant server. Each realm is an isolated tenant with its own administrator, its own clients, roles and resources — while still sharing one installation, one database and one set of global identity/API resources.

Tenant membership is domain-based: a realm owns one or more e-mail domains (e.g. acme.com), and any user whose e-mail address ends in one of those domains is automatically considered a member of that realm. There is no separate “assign user to realm” step and no suffix added to the user’s own account — membership is derived purely from the e-mail domain.

Realm-scoped entities — clients, roles and identity/API resources — do carry a namespace suffix, {name}@{realm} (e.g. a client my-app@acme). This keeps a realm’s clients and roles clearly separated from the global ones and from other realms’, while a global entity (no @realm suffix) remains usable, by default, only by users who do not belong to any realm — see Allowing Cross-Realm and Public Access to a Client for how a client can opt into accepting other realms’ users as well.

Note

Realms are an optional feature. An installation that never creates a realm behaves exactly like a classic single-tenant IdentityServerNET server.