Skip to content

Commit 55e1614

Browse files
authored
Merge pull request #35 from CodeBeamOrg/dev
Update v 0.1.0-preview.1
2 parents 060c690 + 5d50c6b commit 55e1614

212 files changed

Lines changed: 2934 additions & 892 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
name: Publish NuGet Packages
2+
3+
on:
4+
workflow_dispatch:
5+
6+
permissions:
7+
id-token: write
8+
contents: read
9+
10+
jobs:
11+
publish:
12+
runs-on: ubuntu-latest
13+
environment: production
14+
15+
steps:
16+
- name: Checkout
17+
uses: actions/checkout@v4
18+
19+
- name: Setup .NET
20+
uses: actions/setup-dotnet@v4
21+
with:
22+
dotnet-version: |
23+
8.0.x
24+
9.0.x
25+
10.0.x
26+
27+
- name: Restore
28+
run: dotnet restore
29+
30+
- name: Build (Release)
31+
run: dotnet build -c Release --no-restore
32+
33+
- name: Pack (nupkg + snupkg)
34+
run: |
35+
dotnet pack -c Release \
36+
--no-build \
37+
-o ./nupkgs \
38+
/p:IncludeSymbols=true \
39+
/p:SymbolPackageFormat=snupkg
40+
41+
- name: NuGet login (Trusted Publishing)
42+
uses: NuGet/login@v1
43+
id: login
44+
with:
45+
user: CodeBeam
46+
47+
- name: List packages
48+
run: ls -la ./nupkgs
49+
50+
- name: Publish packages
51+
run: |
52+
echo "🚀 Publishing..."
53+
54+
for f in ./nupkgs/*.nupkg; do
55+
echo "📦 $f"
56+
57+
dotnet nuget push "$f" \
58+
--api-key ${{ steps.login.outputs.NUGET_API_KEY }} \
59+
--source https://api.nuget.org/v3/index.json \
60+
--skip-duplicate \
61+
|| echo "❌ Failed: $f"
62+
done
63+
64+
- name: Done
65+
run: echo "✅ Publish process completed"

.ultimateauth/pack.bat.txt

Lines changed: 0 additions & 27 deletions
This file was deleted.

.ultimateauth/package.bat

Lines changed: 0 additions & 27 deletions
This file was deleted.

README.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
![License](https://img.shields.io/github/license/CodeBeamOrg/UltimateAuth)
99
[![Discord](https://img.shields.io/discord/1459498792192839774?color=%237289da&label=Discord&logo=discord&logoColor=%237289da&style=flat-square)](https://discord.gg/QscA86dXSR)
1010
[![codecov](https://codecov.io/gh/CodeBeamOrg/UltimateAuth/branch/dev/graph/badge.svg)](https://codecov.io/gh/CodeBeamOrg/UltimateAuth)
11+
[![NuGet version](https://img.shields.io/nuget/v/CodeBeam.UltimateAuth.Core?color=512bd4&label=nuget%20version&logo=nuget&style=flat-square)](https://www.nuget.org/packages/CodeBeam.UltimateAuth)
12+
[![NuGet downloads](https://img.shields.io/nuget/dt/CodeBeam.UltimateAuth.Core?color=512bd4&label=nuget%20downloads&logo=nuget&style=flat-square)](https://www.nuget.org/packages/CodeBeam.UltimateAuth)
1113

1214
## 📑 Table of Contents
1315

@@ -121,7 +123,7 @@ Traditional auth solutions struggle here — UltimateAuth embraces it.
121123
# 🚀 Quick Start
122124
> ⏱ Takes ~2 minutes to get started
123125
124-
### 1) Install packages (Will be available soon)
126+
### 1) Install packages
125127

126128
1.1 Core Packages
127129
```bash
@@ -288,12 +290,12 @@ UltimateAuth turns Auth into a simple application service — not a separate sys
288290

289291
## 📘 Documentation
290292

291-
Two documentation experiences will be provided:
293+
Two documentation experiences are provided:
292294

293295
### **1) Classic Documentation**
294-
Guides, API reference, tutorials
296+
Guides, API reference, tutorials - https://ultimateauth.com
295297

296-
### **2) Interactive Identity Sandbox**
298+
### **2) Interactive Identity Sandbox** (Available Soon)
297299
Create accounts, simulate devices, test auth flows, and observe UltimateAuth in action.
298300

299301
---
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,20 @@
11
<Project Sdk="Microsoft.NET.Sdk.BlazorWebAssembly">
22

3-
<PropertyGroup>
4-
<TargetFramework>net10.0</TargetFramework>
5-
<ImplicitUsings>enable</ImplicitUsings>
6-
<Nullable>enable</Nullable>
7-
<NoDefaultLaunchSettingsFile>true</NoDefaultLaunchSettingsFile>
8-
<StaticWebAssetProjectMode>Default</StaticWebAssetProjectMode>
9-
<BlazorDisableThrowNavigationException>true</BlazorDisableThrowNavigationException>
10-
</PropertyGroup>
3+
<PropertyGroup>
4+
<TargetFramework>net10.0</TargetFramework>
5+
<ImplicitUsings>enable</ImplicitUsings>
6+
<Nullable>enable</Nullable>
7+
<NoDefaultLaunchSettingsFile>true</NoDefaultLaunchSettingsFile>
8+
<StaticWebAssetProjectMode>Default</StaticWebAssetProjectMode>
9+
<BlazorDisableThrowNavigationException>true</BlazorDisableThrowNavigationException>
10+
<IsPackable>false</IsPackable>
11+
</PropertyGroup>
1112

12-
<ItemGroup>
13-
<PackageReference Include="CodeBeam.MudBlazor.Extensions" Version="9.0.3" />
14-
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="10.0.5" />
15-
<PackageReference Include="MudBlazor" Version="9.2.0" />
16-
</ItemGroup>
13+
<ItemGroup>
14+
<PackageReference Include="CodeBeam.MudBlazor.Extensions" Version="9.0.3" />
15+
<PackageReference Include="CodeBeam.MudBlazor.Extensions.Code" Version="9.0.1" />
16+
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="10.0.5" />
17+
<PackageReference Include="MudBlazor" Version="9.2.0" />
18+
</ItemGroup>
1719

1820
</Project>

docs/website/CodeBeam.UltimateAuth.Docs.Wasm/CodeBeam.UltimateAuth.Docs.Wasm.Client/Layout/MainLayout.razor

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
<MudDialogProvider />
99
<MudSnackbarProvider />
1010

11+
<a id="uauth" />
1112
<MudLayout>
1213
<MudAppBar Class="ua-appbar" Color="Color.Transparent" Dense="true" Elevation="0">
1314
<div class="ua-appbar-grid">
@@ -17,16 +18,18 @@
1718
</div>
1819

1920
<div class="ua-desktop-only">
20-
<MudButton Variant="Variant.Text">Docs (Preparing)</MudButton>
21-
<MudButton Variant="Variant.Text">Donate</MudButton>
21+
<MudButton Variant="Variant.Text" Href="/docs">Docs</MudButton>
22+
<MudButton Variant="Variant.Text" Href="/samples">Samples</MudButton>
23+
<MudButton Variant="Variant.Text" Href="/#donate">Donate</MudButton>
2224
</div>
2325
</div>
2426

25-
<div class="ua-center cursor-pointer" @onclick="@(() => Nav.NavigateTo("/"))">
27+
<div class="ua-center cursor-pointer" @onclick="@(() => Nav.NavigateTo("/#uauth"))">
2628
<UAuthLogo Class="ua-logo mt-4" Size="64" />
2729
</div>
2830

2931
<div class="ua-right">
32+
<MudIconButton Icon="@Icons.Custom.Brands.Discord" Color="Color.Primary" Href="https://discord.gg/ENhTkHWcwY" Target="_blank" />
3033
<MudIconButton Icon="@Icons.Custom.Brands.GitHub" Color="Color.Primary" Href="https://github.com/CodeBeamOrg/UltimateAuth" Target="_blank" />
3134
<MudToggleIconButton @bind-Toggled="@_isDarkMode" Icon="@Icons.Material.Filled.DarkMode" ToggledIcon="@Icons.Material.Filled.LightMode" Color="Color.Primary" ToggledColor="Color.Primary" />
3235
</div>
@@ -35,7 +38,10 @@
3538

3639
<MudDrawer @bind-Open="_drawerOpen" Breakpoint="Breakpoint.None" ClipMode="DrawerClipMode.Always" Variant="DrawerVariant.Temporary">
3740
<MudNavMenu>
38-
<MudNavLink Href="/#home" Icon="@Icons.Material.Filled.Home">Preparing</MudNavLink>
41+
<MudNavLink Href="/#uauth" Icon="@Icons.Material.Filled.Home">Home</MudNavLink>
42+
<MudNavLink Href="/docs" Icon="@Icons.Material.Filled.Book">Docs</MudNavLink>
43+
<MudNavLink Href="/docs" Icon="@Icons.Material.Filled.Apps">Samples</MudNavLink>
44+
<MudNavLink Href="/#donate" Icon="@Icons.Material.Filled.VolunteerActivism">Donate</MudNavLink>
3945
</MudNavMenu>
4046
</MudDrawer>
4147

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
@page "/docs"
2+
3+
<MudPage FullScreen="FullScreen.FullWithoutAppbar" Row="1" Column="1">
4+
<MudContainer MaxWidth="MaxWidth.Small" Class="d-flex align-center justify-center">
5+
<MudStack Spacing="3" Class="text-center">
6+
<MudText Typo="Typo.h3"><b>UltimateAuth Docs</b></MudText>
7+
<MudText Typo="Typo.subtitle2">The modern way to understand authentication — unified, simple and powerful.</MudText>
8+
9+
<MudDivider Class="my-2" />
10+
11+
<MudText>This page is preparing.</MudText>
12+
13+
<MudText Typo="Typo.body2" Class="mt-2">
14+
But the documentation is currently available in markdown format and covers core concepts, architecture, flows and integration guides.
15+
</MudText>
16+
17+
<MudText Typo="Typo.body2">
18+
Start exploring the docs to understand how UltimateAuth simplifies authentication across sessions, cookies and tokens.
19+
</MudText>
20+
21+
<MudButton Variant="Variant.Filled" Color="Color.Primary" Href="https://github.com/CodeBeamOrg/UltimateAuth/tree/dev/docs/content" Target="_blank" StartIcon="@Icons.Material.Outlined.MenuBook" Class="mt-4">
22+
Read Documentation
23+
</MudButton>
24+
25+
<MudText Typo="Typo.caption" Class="mt-6">
26+
Full documentation site is coming soon.
27+
</MudText>
28+
</MudStack>
29+
</MudContainer>
30+
</MudPage>

docs/website/CodeBeam.UltimateAuth.Docs.Wasm/CodeBeam.UltimateAuth.Docs.Wasm.Client/Pages/Home.razor

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,12 +92,13 @@
9292

9393
<div class="ua-separator"></div>
9494

95+
<a id="donate" />
9596
<MudPage FullScreen="FullScreen.Full" Row="1" Column="1">
9697
<MudContainer MaxWidth="MaxWidth.Medium" Class="d-flex align-center justify-center text-center">
9798
<MudStack Spacing="4" AlignItems="AlignItems.Center">
9899
<MudIcon Class="ua-vision-icon-wrapper mt-n1" Style="width: 72px; height: 72px" Icon="@Icons.Material.Filled.VolunteerActivism" />
99100

100-
<MudText Typo="Typo.h5"><b>UltimateAuth is and will always forever free.</b></MudText>
101+
<MudText Typo="Typo.h5"><b>UltimateAuth is, and will always remain free.</b></MudText>
101102
<MudText Class="ua-donate-text">No licenses. No tiers. No hidden limits. Full features as a self-hosted framework.</MudText>
102103
<MudText Class="ua-donate-subtext">
103104
But building and maintaining a secure, production-ready Auth framework takes time, effort and care.
@@ -135,7 +136,13 @@
135136
"Override any part of the pipeline without breaking security boundaries."),
136137

137138
new(Icons.Material.Outlined.Category, "Developer First",
138-
"Clean APIs, Blazor native design and seamless integration with .NET ecosystem.")
139+
"Clean APIs, Blazor native design and seamless integration with .NET ecosystem."),
140+
141+
new(Icons.Material.Outlined.AccountTree, "Enterprise-Ready Foundations",
142+
"Built-in multi-tenancy, soft delete and optimistic concurrency support. Designed with real-world data integrity and scalability in mind."),
143+
144+
new(Icons.Material.Outlined.Groups, "Advanced User Management",
145+
"Support for multi-profile and multi-identifier users with a full lifecycle model. Go beyond basic identity systems with flexible, real-world user modeling.")
139146
};
140147

141148
record Principle(string Icon, string Title, string Description);
Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
@page "/not-found"
22
@layout MainLayout
33

4-
<h3>Not Found</h3>
5-
<p>Sorry, the content you are looking for does not exist.</p>
4+
<MudPage FullScreen="FullScreen.FullWithoutAppbar" Row="1" Column="1">
5+
<MudContainer MaxWidth="MaxWidth.Medium" Class="d-flex align-center justify-center">
6+
<MudStack Spacing="2">
7+
<h3>Not Found</h3>
8+
<p>Sorry, the content you are looking for does not exist.</p>
9+
</MudStack>
10+
</MudContainer>
11+
</MudPage>
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
@page "/samples"
2+
3+
<MudPage FullScreen="FullScreen.FullWithoutAppbar" Row="1" Column="1">
4+
<MudContainer MaxWidth="MaxWidth.Medium" Class="d-flex align-center justify-center">
5+
<MudStack Spacing="4" Class="text-center">
6+
<MudText Typo="Typo.h3"><b>Samples</b></MudText>
7+
<MudText Typo="Typo.subtitle2">Explore working examples and see UltimateAuth in action.</MudText>
8+
<MudText Typo="Typo.caption">Interactive online samples are coming soon.</MudText>
9+
10+
<MudDivider />
11+
12+
<MudText Typo="Typo.body2">
13+
All samples are available on GitHub. Clone the repository, open the solution
14+
and run the projects to play with real-world UltimateAuth implementation.
15+
</MudText>
16+
17+
<MudGrid>
18+
<MudItem xs="12" md="6">
19+
<MudPaper Class="pa-4 d-flex flex-column align-center justify-center" Style="background: transparent; min-height: 200px" Outlined="true" Elevation="0">
20+
<MudText Typo="Typo.h6">Blazor Server (EF Core)</MudText>
21+
<MudText Typo="Typo.subtitle2">Full-featured sample with persistent storage using EF Core.</MudText>
22+
<MudButton Class="mt-4" Variant="Variant.Filled" Href="https://github.com/CodeBeamOrg/UltimateAuth/tree/dev/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer.EFCore" Target="_blank" StartIcon="@Icons.Material.Outlined.OpenInNew">View Source Code on GitHub</MudButton>
23+
</MudPaper>
24+
</MudItem>
25+
26+
<MudItem xs="12" md="6">
27+
<MudPaper Class="pa-4 d-flex flex-column align-center justify-center" Style="background: transparent; min-height: 200px" Outlined="true" Elevation="0">
28+
<MudText Typo="Typo.h6">Blazor Server (InMemory)</MudText>
29+
<MudText Typo="Typo.subtitle2">Lightweight sample for quick setup without persistence.</MudText>
30+
<MudButton Class="mt-4" Variant="Variant.Filled" Href="https://github.com/CodeBeamOrg/UltimateAuth/tree/dev/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer" Target="_blank" StartIcon="@Icons.Material.Outlined.OpenInNew">View Source Code on GitHub</MudButton>
31+
</MudPaper>
32+
</MudItem>
33+
34+
<MudItem xs="12">
35+
<MudPaper Class="pa-4 d-flex flex-column align-center justify-center" Style="background: transparent; min-height: 200px" Outlined="true" Elevation="0">
36+
<MudText Typo="Typo.h6">Blazor WASM (Standalone)</MudText>
37+
<MudText Typo="Typo.subtitle2">Client-side sample using Hybrid authentication model.</MudText>
38+
<MudButton Class="mt-4" Variant="Variant.Filled" Href="https://github.com/CodeBeamOrg/UltimateAuth/tree/dev/samples/blazor-standalone-wasm/CodeBeam.UltimateAuth.Sample.BlazorStandaloneWasm" Target="_blank" StartIcon="@Icons.Material.Outlined.OpenInNew">View Source Code on GitHub</MudButton>
39+
</MudPaper>
40+
</MudItem>
41+
42+
<MudItem xs="12" md="6">
43+
<MudPaper Class="pa-4 d-flex flex-column align-center justify-center" Style="background: transparent; min-height: 200px" Outlined="true" Elevation="0">
44+
<MudText Typo="Typo.h6">UAuthHub</MudText>
45+
<MudText Typo="Typo.subtitle2">Complete Auth server with UI, working together with WASM client.</MudText>
46+
<MudButton Class="mt-4" Variant="Variant.Filled" Href="https://github.com/CodeBeamOrg/UltimateAuth/tree/dev/samples/UAuthHub/CodeBeam.UltimateAuth.Sample.UAuthHub" Target="_blank" StartIcon="@Icons.Material.Outlined.OpenInNew">View Source Code on GitHub</MudButton>
47+
</MudPaper>
48+
</MudItem>
49+
50+
<MudItem xs="12" md="6">
51+
<MudPaper Class="pa-4 d-flex flex-column align-center justify-center" Style="background: transparent; min-height: 200px" Outlined="true" Elevation="0">
52+
<MudText Typo="Typo.h6">Resource API</MudText>
53+
<MudText Typo="Typo.subtitle2">Example of securing application APIs using UltimateAuth.</MudText>
54+
<MudButton Class="mt-4" Variant="Variant.Filled" Href="https://github.com/CodeBeamOrg/UltimateAuth/tree/dev/samples/resource-api/CodeBeam.UltimateAuth.Sample.ResourceApi" Target="_blank" StartIcon="@Icons.Material.Outlined.OpenInNew">View Source Code on GitHub</MudButton>
55+
</MudPaper>
56+
</MudItem>
57+
</MudGrid>
58+
59+
<MudAlert Severity="Severity.Info" Class="mt-6" ContentAlignment="HorizontalAlignment.Center">
60+
<b>WASM Sample Setup:</b><br />
61+
Start the following projects together:<br />
62+
(1) UAuthHub<br />
63+
(2) ResourceApi<br />
64+
(3) BlazorStandaloneWasm<br />
65+
After opening the solution, configure multiple startup projects in Visual Studio.
66+
</MudAlert>
67+
68+
<MudAlert Severity="Severity.Info" Class="my-6">
69+
Each sample refreshes (clear + seed) it's data on each restart. When you close application it will be reset.
70+
</MudAlert>
71+
</MudStack>
72+
</MudContainer>
73+
</MudPage>

0 commit comments

Comments
 (0)