Solution structure¶
Solution: ConnectSoft.Blazor.Mfe.ECS.SelfServiceTemplate.slnx (repo root).
src/ConnectSoft.Blazor.Mfe.ECS.SelfServiceTemplate/ # Blazor WASM, net10.0
├── Pages/ # Home, Dashboard ("My configurations"), ConfigurationDetail, ConfigurationEdit, ConfigurationVersions(+Detail), Authentication
├── Components/ # ConfigurationValueDisplay, SelfServiceLoginDisplay, RedirectToAuthenticationLogin
├── Services/ # UserConfigurationsApiClient, UserConfigurationVersionsApiClient, AssignedConfigurationFilter, ConfigurationJsonSyntaxFormatter, SelfServiceUserContext
└── wwwroot/appsettings.json # EcsConfigurationApi, SelfServiceConfigurations, SelfServiceConfigurationEdit, SelfServiceAuthentication
tests/...UnitTests/ # 5 domain test files
Routes¶
| Route | Page |
|---|---|
/ |
Home |
/dashboard |
Dashboard - "My configurations" ([Authorize]) |
/configurations/{Id} |
ConfigurationDetail |
/configurations/{Id}/edit |
ConfigurationEdit (policy CanEditConfigurations) |
/configurations/{Id}/versions, .../versions/{VersionId} |
read-only version history |
/authentication/{Action} |
OIDC login/logout callbacks |
/uikit-demo |
utility |
There is no admin-style /configurations list or create route - listing is via /dashboard.
Clients and config¶
| Config section | Purpose |
|---|---|
EcsConfigurationApi |
UserConfigurationsApiClient - list/get/update user-scoped configs (ECS-Core-API-001) |
SelfServiceConfigurations |
UserAssignmentsScope filter |
SelfServiceConfigurationEdit |
AllowScopeEdit flag |
SelfServiceAuthentication |
optional WASM OIDC (Enabled: false default; AnonymousAuthenticationStateProvider when off) |
UserConfigurationVersionsApiClient (ECS-Core-VER-001) is read-only; SelfServiceEcsApiAccessTokenHandler forwards tokens when auth is enabled.
Dependencies¶
WASM 10.0.9, Microsoft.AspNetCore.Components.WebAssembly.Authentication 10.0.9, UIKit 1.0.163.