![]() |
VOOZH | about |
dotnet add package OutWit.Identity.Blazor --version 2.0.7
NuGet\Install-Package OutWit.Identity.Blazor -Version 2.0.7
<PackageReference Include="OutWit.Identity.Blazor" Version="2.0.7" />
<PackageVersion Include="OutWit.Identity.Blazor" Version="2.0.7" />Directory.Packages.props
<PackageReference Include="OutWit.Identity.Blazor" />Project file
paket add OutWit.Identity.Blazor --version 2.0.7
#r "nuget: OutWit.Identity.Blazor, 2.0.7"
#:package OutWit.Identity.Blazor@2.0.7
#addin nuget:?package=OutWit.Identity.Blazor&version=2.0.7Install as a Cake Addin
#tool nuget:?package=OutWit.Identity.Blazor&version=2.0.7Install as a Cake Tool
Blazor WebAssembly auth-side bits for apps integrated with WitIdentity.
This package sits on top of the generic
OutWit.Shared.Blazor.Shell
admin shell and adds the WitIdentity-specific parts: OIDC login UI,
tenant manifest types, and a thin shell-layout wrapper that pre-fills
branding from /branding.json.
Renamed from
OutWit.Identity.Sharedin 2.0. The generic shell pieces (AppShellLayout, theme, M3 CSS,AppNotFound,DisplayUtils,LoginMenuItem) now live inOutWit.Shared.Blazor.Shellso non-Identity products can use them without pulling WitIdentity in.
IdentityShellLayout — thin wrapper around the generic
AppShellLayout that hydrates Title, Header, LogoUrl… from the
injected BrandingOptions and slots in <LoginDisplay /> +
<AppShellFooter />. Use this from your MainLayout.razor and you only
have to supply navigation items.AppRoot — root component with CascadingAuthenticationState,
Router, and AuthorizeRouteView.LoginDisplay — login / logout button with user avatar + dropdown
menu populated from LoginDisplayOptions.MenuItems (the
LoginMenuItem record itself lives in
OutWit.Shared.Blazor.Shell.Model).LoginRedirect — sends unauthorised users through the OIDC login flow.AppShellFooter — pinned bottom-right server version + environment badge.Branding namespace — BrandingOptions, IOidcClientSettings,
OidcClientSettings, SystemInfo, TenantManifest (the wire types
that match the server's GET /branding.json response)._content/OutWit.Identity.Blazor/css/ —
m3-auth.css (login / change-password page styling) and
app-shell-footer.css (version badge).dotnet add package OutWit.Identity.Blazor
This transitively brings in OutWit.Shared.Blazor.Shell, MudBlazor, and
the OIDC authentication libraries.
In your Blazor WASM Program.cs:
// Fetch the tenant manifest (branding + OIDC client config + server version)
// from the WitIdentity host. Registers BrandingOptions and IOidcClientSettings
// as singletons available via DI throughout the app.
var manifest = await builder.Services.AddIdentityShellTenant(builder.HostEnvironment.BaseAddress);
// Wire up OIDC authentication using values from the manifest. Pass
// `fallbackAuthority` for self-hosted scenarios where the manifest's
// Authority is empty (the identity server itself loading its admin UI).
builder.Services.AddIdentityShellAuth(manifest.Oidc);
// MudBlazor services + login menu.
builder.Services.AddIdentityShellServices(options =>
{
options.MenuItems.Add(new LoginMenuItem("Home", "/", Icons.Material.Outlined.Home));
});
In index.html:
<link rel="stylesheet" href="_content/OutWit.Shared.Blazor.Shell/css/m3-tokens.css" />
<link rel="stylesheet" href="_content/OutWit.Shared.Blazor.Shell/css/m3-appbar.css" />
<link rel="stylesheet" href="_content/OutWit.Shared.Blazor.Shell/css/m3-nav.css" />
<link rel="stylesheet" href="_content/OutWit.Shared.Blazor.Shell/css/shell.css" />
<link rel="stylesheet" href="_content/OutWit.Identity.Blazor/css/m3-auth.css" />
<link rel="stylesheet" href="_content/OutWit.Identity.Blazor/css/app-shell-footer.css" />
<link rel="stylesheet" href="_content/MudBlazor.FontIcons.MaterialSymbols/css/font.min.css" />
In MainLayout.razor:
@inherits LayoutComponentBase
<IdentityShellLayout>
<NavigationItems>
<MudNavLink Href="/" Icon="@Icons.Material.Outlined.Dashboard">Home</MudNavLink>
</NavigationItems>
<ChildContent>@Body</ChildContent>
</IdentityShellLayout>
The WitIdentity server publishes the manifest at GET /branding.json
(anonymous, Cache-Control: no-cache, must-revalidate). The shape
matches the TenantManifest class in this package, so consuming apps
deserialise straight into it.
Built with MudBlazor.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 net10.0 is compatible. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
This package is not used by any NuGet packages.
This package is not used by any popular GitHub repositories.