Skip to content

Commit 8bf50ab

Browse files
committed
Design Improvements
1 parent e0c8070 commit 8bf50ab

8 files changed

Lines changed: 410 additions & 119 deletions

File tree

‎docs/content/getting-started/ecosystem.md‎

Lines changed: 43 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -79,9 +79,9 @@ The internal architecture is modular, while the installation experience is delib
7979

8080
---
8181

82-
# Core
82+
## Core
8383

84-
## `CodeBeam.UltimateAuth.Core`
84+
#### `CodeBeam.UltimateAuth.Core`
8585

8686
Core is the foundation of the entire UltimateAuth platform.
8787

@@ -105,7 +105,7 @@ Most application developers do not need to install Core directly. It is normally
105105

106106
---
107107

108-
# Server
108+
## Server
109109

110110
The Server side is the authority that executes UltimateAuth authentication and identity behavior.
111111

@@ -127,7 +127,7 @@ Other essential server capabilities, including authentication, sessions, and tok
127127

128128
This gives UltimateAuth a modular internal architecture without forcing that complexity onto application developers.
129129

130-
## Do I install `CodeBeam.UltimateAuth.Server` directly?
130+
### Do I install `CodeBeam.UltimateAuth.Server` directly?
131131

132132
For normal application setup, **no**.
133133

@@ -156,17 +156,17 @@ This is an important part of the UltimateAuth design:
156156
157157
---
158158

159-
# Server Bundles
159+
## Server Bundles
160160

161161
Bundles are server-side composition packages.
162162

163163
They collect the UltimateAuth server capabilities and the implementations required for a particular configuration into a single installation unit.
164164

165165
You normally choose **one server bundle**.
166166

167-
## Reference Bundle
167+
### Reference Bundle
168168

169-
### `CodeBeam.UltimateAuth.Reference.Bundle`
169+
#### `CodeBeam.UltimateAuth.Reference.Bundle`
170170

171171
The Reference Bundle provides the recommended UltimateAuth server composition without selecting a persistence implementation for your application.
172172

@@ -188,9 +188,9 @@ This is the lowest-level recommended server composition for applications that wa
188188

189189
It is also an important extensibility point: UltimateAuth provides a recommended architecture without requiring applications to use one particular persistence technology.
190190

191-
## InMemory Bundle
191+
### InMemory Bundle
192192

193-
### `CodeBeam.UltimateAuth.InMemory.Bundle`
193+
#### `CodeBeam.UltimateAuth.InMemory.Bundle`
194194

195195
The InMemory Bundle provides a complete server setup backed by UltimateAuth's in-memory implementations.
196196

@@ -213,9 +213,9 @@ InMemory.Bundle
213213

214214
This is the easiest way to start an UltimateAuth server.
215215

216-
## Entity Framework Core Bundle
216+
### Entity Framework Core Bundle
217217

218-
### `CodeBeam.UltimateAuth.EntityFrameworkCore.Bundle`
218+
#### `CodeBeam.UltimateAuth.EntityFrameworkCore.Bundle`
219219

220220
The Entity Framework Core Bundle provides the complete server composition using UltimateAuth's EF Core persistence implementations.
221221

@@ -235,7 +235,7 @@ The bundle performs that composition.
235235

236236
---
237237

238-
# Why Bundles Matter
238+
### Why Bundles Matter
239239

240240
A highly modular framework can easily make the developer experience worse if every application has to understand and install its internal package graph.
241241

@@ -271,7 +271,7 @@ You should not need to understand the complete internal dependency graph before
271271

272272
---
273273

274-
# Client
274+
## Client
275275

276276
The Client side has a different packaging model.
277277

@@ -295,7 +295,7 @@ dotnet add package CodeBeam.UltimateAuth.Client.Blazor
295295

296296
A future MAUI integration can follow the same model without changing the underlying UltimateAuth Client architecture.
297297

298-
## `CodeBeam.UltimateAuth.Client`
298+
### `CodeBeam.UltimateAuth.Client`
299299

300300
`CodeBeam.UltimateAuth.Client` is the shared client foundation.
301301

@@ -307,7 +307,7 @@ Most applications should therefore install their platform-specific client packag
307307

308308
---
309309

310-
## `CodeBeam.UltimateAuth.Client.Blazor`
310+
### `CodeBeam.UltimateAuth.Client.Blazor`
311311

312312
`CodeBeam.UltimateAuth.Client.Blazor` is the concrete UltimateAuth client integration for Blazor.
313313

@@ -341,13 +341,13 @@ This model keeps the shared Client architecture independent from Blazor while st
341341

342342
---
343343

344-
# Client Compatibility Packages
344+
### Client Compatibility Packages
345345

346346
Not every client-side package represents a complete client implementation.
347347

348348
Some packages exist to bridge UltimateAuth with a host framework.
349349

350-
## `CodeBeam.UltimateAuth.Client.AspNetCore`
350+
#### `CodeBeam.UltimateAuth.Client.AspNetCore`
351351

352352
`CodeBeam.UltimateAuth.Client.AspNetCore` is a lightweight ASP.NET Core compatibility layer for UltimateAuth client applications.
353353

@@ -359,11 +359,11 @@ It can enable compatibility with ASP.NET Core features such as `[Authorize]`, bu
359359

360360
---
361361

362-
# Application Composition
362+
## Application Composition
363363

364364
Because Server and Client are independent platform sides, different applications can compose UltimateAuth differently.
365365

366-
## Server Only
366+
### Server Only
367367

368368
Typical examples include:
369369

@@ -377,7 +377,7 @@ Application
377377
+-- Server Bundle
378378
```
379379

380-
## Client Only
380+
### Client Only
381381

382382
Typical examples include:
383383

@@ -393,7 +393,7 @@ Application
393393
+---- remote UltimateAuth Server / UAuthHub
394394
```
395395

396-
## Server + Client
396+
### Server + Client
397397

398398
Some applications host UltimateAuth and consume its client API in the same application.
399399

@@ -411,7 +411,7 @@ The two sides remain architecturally distinct even when deployed in the same pro
411411

412412
---
413413

414-
# Plugin Domains
414+
## Plugin Domains
415415

416416
UltimateAuth extends its identity platform through **Plugin Domains**.
417417

@@ -425,7 +425,7 @@ A Plugin Domain is more than a single assembly. It is a capability area with con
425425

426426
This structure allows a domain to remain replaceable without requiring applications to redesign the rest of UltimateAuth.
427427

428-
## Anatomy of a Plugin Domain
428+
### Anatomy of a Plugin Domain
429429

430430
A typical Plugin Domain follows this model:
431431

@@ -448,7 +448,7 @@ Each layer has a distinct purpose.
448448

449449
---
450450

451-
## Contracts
451+
### Contracts
452452

453453
Example:
454454

@@ -472,7 +472,7 @@ This allows another implementation to integrate with UltimateAuth without depend
472472

473473
---
474474

475-
## Domain / Runtime
475+
### Domain / Runtime
476476

477477
Example:
478478

@@ -486,7 +486,7 @@ It operates against abstractions rather than requiring one persistence implement
486486

487487
---
488488

489-
## Reference Implementations
489+
### Reference Implementations
490490

491491
Example:
492492

@@ -518,7 +518,7 @@ This pattern gives advanced applications extensibility without making simple app
518518

519519
---
520520

521-
## Persistence Implementations
521+
### Persistence Implementations
522522

523523
Plugin Domains can provide persistence-specific packages independently.
524524

@@ -542,9 +542,9 @@ Their separation exists primarily to preserve architectural modularity and repla
542542

543543
---
544544

545-
# Current Plugin Domains
545+
## Current Plugin Domains
546546

547-
## Users
547+
### Users
548548

549549
The Users domain owns user lifecycle and user-management capabilities.
550550

@@ -558,7 +558,7 @@ CodeBeam.UltimateAuth.Users.InMemory
558558
CodeBeam.UltimateAuth.Users.EntityFrameworkCore
559559
```
560560

561-
## Credentials
561+
### Credentials
562562

563563
The Credentials domain owns credential-related capabilities and credential management.
564564

@@ -572,7 +572,7 @@ CodeBeam.UltimateAuth.Credentials.InMemory
572572
CodeBeam.UltimateAuth.Credentials.EntityFrameworkCore
573573
```
574574

575-
## Authorization
575+
### Authorization
576576

577577
The Authorization domain provides UltimateAuth authorization capabilities.
578578

@@ -590,7 +590,7 @@ The same architectural pattern makes these capabilities independently evolvable
590590

591591
---
592592

593-
# Essential Server Capabilities
593+
## Essential Server Capabilities
594594

595595
Authentication, Sessions, and Tokens are slightly different from Plugin Domains.
596596

@@ -642,17 +642,17 @@ The selected Server bundle composes the required implementations for the applica
642642

643643
---
644644

645-
# Policies and Security
645+
## Policies and Security
646646

647647
Some capabilities are deliberately isolated even though they support multiple areas of the platform.
648648

649-
## Policies
649+
### Policies
650650

651651
`CodeBeam.UltimateAuth.Policies` contains policy infrastructure used to keep security and application decisions explicit and extensible.
652652

653653
Policies are part of the server architecture rather than application-specific transport logic.
654654

655-
## Security Implementations
655+
### Security Implementations
656656

657657
Security algorithms can also live behind focused implementations.
658658

@@ -666,7 +666,7 @@ Keeping security implementations separate avoids coupling the entire platform to
666666

667667
---
668668

669-
# Modularity Without an Incomplete Framework
669+
## Modularity Without an Incomplete Framework
670670

671671
UltimateAuth's modularity has an important design goal:
672672

@@ -692,7 +692,7 @@ A customization should be local to the capability being replaced rather than req
692692

693693
---
694694

695-
# Replaceability by Design
695+
## Replaceability by Design
696696

697697
UltimateAuth is intentionally built from small architectural boundaries.
698698

@@ -736,11 +736,11 @@ Security-sensitive extension points still remain subject to UltimateAuth's secur
736736

737737
---
738738

739-
# Choosing Packages
739+
## Choosing Packages
740740

741741
For most developers, package selection should be simple.
742742

743-
## Blazor Server with InMemory persistence
743+
### Blazor Server with InMemory persistence
744744

745745
```bash
746746
dotnet add package CodeBeam.UltimateAuth.InMemory.Bundle
@@ -749,14 +749,14 @@ dotnet add package CodeBeam.UltimateAuth.Client.Blazor
749749

750750
The application both hosts UltimateAuth and consumes the Blazor client integration.
751751

752-
## Blazor Server with Entity Framework Core
752+
### Blazor Server with Entity Framework Core
753753

754754
```bash
755755
dotnet add package CodeBeam.UltimateAuth.EntityFrameworkCore.Bundle
756756
dotnet add package CodeBeam.UltimateAuth.Client.Blazor
757757
```
758758

759-
## Custom persistence
759+
### Custom persistence
760760

761761
Start from:
762762

@@ -766,7 +766,7 @@ dotnet add package CodeBeam.UltimateAuth.Reference.Bundle
766766

767767
and provide the required persistence implementations for your architecture.
768768

769-
## Standalone Blazor WebAssembly
769+
### Standalone Blazor WebAssembly
770770

771771
Install the client integration:
772772

@@ -778,7 +778,7 @@ The authentication authority lives in a remote UltimateAuth Server or UAuthHub.
778778

779779
---
780780

781-
# The Rule of Thumb
781+
## The Rule of Thumb
782782

783783
You generally do not need to assemble UltimateAuth package-by-package.
784784

0 commit comments

Comments
 (0)