FreshIdentity.Core 2.0.0-preview.0.3

This is a prerelease version of FreshIdentity.Core.
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package FreshIdentity.Core --version 2.0.0-preview.0.3
                    
NuGet\Install-Package FreshIdentity.Core -Version 2.0.0-preview.0.3
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="FreshIdentity.Core" Version="2.0.0-preview.0.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="FreshIdentity.Core" Version="2.0.0-preview.0.3" />
                    
Directory.Packages.props
<PackageReference Include="FreshIdentity.Core" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add FreshIdentity.Core --version 2.0.0-preview.0.3
                    
#r "nuget: FreshIdentity.Core, 2.0.0-preview.0.3"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package FreshIdentity.Core@2.0.0-preview.0.3
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=FreshIdentity.Core&version=2.0.0-preview.0.3&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=FreshIdentity.Core&version=2.0.0-preview.0.3&prerelease
                    
Install as a Cake Tool

Identity and auth libraries for mere mortals.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.0.0-preview.0.5 59 8/22/2026
2.0.0-preview.0.4 38 8/22/2026
2.0.0-preview.0.3 40 8/20/2026
2.0.0-preview.0.2 63 7/11/2026
2.0.0-preview.0.1 204 8/11/2025
1.0.19 475 4/4/2023
1.0.18 394 4/4/2023
1.0.17 365 4/4/2023
1.0.16 405 4/3/2023
1.0.12 404 3/17/2023
1.0.11 578 11/4/2022
1.0.10 561 11/3/2022
1.0.9 648 10/14/2022
1.0.8 601 8/31/2022
1.0.7 612 8/24/2022
1.0.6 603 8/24/2022
1.0.5 600 8/23/2022
1.0.4 606 8/22/2022
1.0.3 597 8/22/2022
1.0.2 633 8/22/2022
Loading failed

- Migrate the solution, service, CLI, tests, and container images to .NET 10.
- Update Paket to 10.3.1 and Aardvark.Build/aardpack to 2.0.7.
- Enforce active global-admin authorization at the Core service boundary and reject non-HTTPS Production traffic after trusted proxy processing.
- Normalize OAuth2 authorization-code error responses and preserve safely bounded long legacy-password sign-in during automatic hash upgrades.
- Add fail-fast test scripts, Windows/Linux/macOS CI, coverage gates, and synchronized contributor and deployment documentation.
- Reduce CLI, OAuth2, rate-limiter, and account-state friction while expanding security and compatibility regression coverage.
- Require the `fresh` CLI to use atomic endpoint/API-key override pairs, reject conflicting endpoints, and never combine explicit values with cached credential counterparts.
- Parse and validate complete CLI commands before prompts or API calls, return stable `0`/`1`/`2`/`130` exit codes, and report concise bounded API errors without expected-failure stack traces.
- Split CLI parsing, execution, infrastructure, and credential persistence; serialize concurrent credential updates; preserve JSON-file property values; and add cross-platform regression coverage and operator guidance.
- Detect already-published NuGet versions before authentication so documentation-only release-note updates remain idempotent, while retaining authenticated pushes for new versions.
- Merge Windows, Linux, and macOS coverage in CI, enforce 100% line and 95% branch coverage, publish browsable reports, and add reproducible local coverage scripts.
- Expand deterministic in-process coverage to 382 tests across administration lifecycles, CLI, persistence and migration, API-client, password, GitHub, OAuth2, forward-auth, host-configuration, and continuation failure paths without calling external application services.
- Add pinned targeted mutation testing for authorization, administration, password, and scoped roles with an 80% breaking threshold and weekly/manual workflow, while documenting narrowly justified platform and compiler-generated coverage exclusions.
- Make the Signal client injectable and disposable without retargeting shared HTTP clients, dispose configured Signal transport at host shutdown, and remove unreachable API/OAuth/cookie guards exposed by the coverage review.
- Add an explicit versioned database schema and automatically migrate existing stores while replacing persisted API keys and OAuth client secrets with one-way hashes.
- Separate atomic persistence from the administration service and API-key authorization boundary; add safe account and credential projections, protocol capabilities, stable error codes, and structured secret-free audit events.
- Add account labels, bounded search/filter/pagination, enable/disable operations, ETag preconditions, and explicit protection against removing the final active global-admin API access path.
- Add complete API-key and OAuth client list/update/enable/disable/revoke lifecycles using non-secret credential identifiers, multiple OAuth redirects, and one-time creation secrets.
- Make administrator-created and reset passwords require a first-login change by default, remove their policy property when the credential is removed, and keep changes atomic with the password mutation.
- Align the `fresh` CLI with account, API-key, OAuth, password, ETag, paging, and lockout-override features while preserving JSON output, secure secret input, and documented exit codes.
- Remove unused role and API envelope declarations, consolidate persistence/projection/validation paths, and synchronize operator, contributor, API-example, help, migration, and security documentation.
Breaking changes: administrative SDK/JSON account and credential contracts now use explicit safe summary/detail DTOs; account listings are bounded by default; machine-credential creation responses separate one-time secrets from metadata; API-key revocation uses non-secret IDs; administrator password resets default to `mustChangePassword=true`; the unused granular role constants and API response envelope types were removed; and the database migration is forward-only for older binaries.