Formusoft.Security.Abstractions
4.0.28
dotnet add package Formusoft.Security.Abstractions --version 4.0.28
NuGet\Install-Package Formusoft.Security.Abstractions -Version 4.0.28
<PackageReference Include="Formusoft.Security.Abstractions" Version="4.0.28" />
<PackageVersion Include="Formusoft.Security.Abstractions" Version="4.0.28" />
<PackageReference Include="Formusoft.Security.Abstractions" />
paket add Formusoft.Security.Abstractions --version 4.0.28
#r "nuget: Formusoft.Security.Abstractions, 4.0.28"
#:package Formusoft.Security.Abstractions@4.0.28
#addin nuget:?package=Formusoft.Security.Abstractions&version=4.0.28
#tool nuget:?package=Formusoft.Security.Abstractions&version=4.0.28
Formusoft.Authentication.Abstractions
Core contracts, models, enums, and options for the Formusoft authentication system.
This package defines the interfaces and shared types used by authentication services and calling applications.
Purpose
This package allows:
- clean separation between implementation and contracts
- calling applications to plug in their own persistence and infrastructure
- testing and mocking of authentication flows
- reuse across multiple services or APIs
Package Responsibilities
This package defines:
Core Contracts
IAuthUserIAuthRepository<TUser>IUserFactory<TUser>IPasswordHasherITokenService<TUser>ITokenHasher
MFA / Security Contracts
IMfaPolicyEvaluator<TUser>IMfaMethodWriterIMfaRecoveryCodeStoreITotpServiceIEmailSenderISmsSender
Session / Token Contracts
IAccessTokenValidationServiceIAccessTokenDenyListIRequestContext
WebAuthn / Passkey Contracts
IWebAuthnServiceIWebAuthnCredentialStoreIWebAuthnChallengeStore
Records / Models
Includes:
AuthSessionAuthRefreshTokenAuthOtpChallengeAuthMfaMethodAuthWebAuthnCredentialAuthWebAuthnChallenge
Options
AuthenticationOptionsJwtTokenOptionsMfaOptionsOtpOptionsRefreshTokenOptionsTotpOptions
What YOU Must Implement (Calling App)
At minimum:
IAuthRepository<TUser>
IUserFactory<TUser>
ITokenHasher
If using features:
Feature Required
Email MFA IEmailSender
SMS MFA ISmsSender
TOTP ITotpService
Recovery Codes IMfaRecoveryCodeStore
WebAuthn WebAuthn interfaces
WebAuthn Design (Important)
This system is designed so:
- OTP MFA = Email / SMS / TOTP
- WebAuthn = separate authentication path
DO NOT treat WebAuthn like an OTP code.
Session Policy
Supports:
- global option (
OneSessionPerUser) - override via custom policy
Design Principles
- repository-driven persistence
- stateless service layer
- extensible policies
- separation of concerns
- startup-friendly defaults
Recommended Implementation Order
- User model (
IAuthUser) - Repository
- Password hashing
- Token hashing
- MFA (optional)
- WebAuthn (optional)
- Custom policies (optional)
Notes
- Always protect secrets (use
Formusoft.Security) - Normalize user identifiers
- Keep WebAuthn separate from OTP flow
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. 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. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 is compatible. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.6.2
- No dependencies.
-
.NETStandard 2.0
- No dependencies.
-
net10.0
- No dependencies.
-
net6.0
- No dependencies.
-
net8.0
- No dependencies.
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Formusoft.Security.Abstractions:
| Package | Downloads |
|---|---|
|
Formusoft.Security
Implementation of security services such as password hashing, token generation, encryption, and cryptographic utilities. |
|
|
Formusoft.Authentication
Authentication orchestration and services implementing login flows, MFA handling, session management, and integration with security and persistence layers. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 4.0.28 | 59 | 5/31/2026 |
| 4.0.27 | 60 | 5/28/2026 |
| 4.0.26 | 170 | 4/29/2026 |
| 4.0.25 | 176 | 4/29/2026 |
| 4.0.24 | 184 | 4/25/2026 |
| 4.0.23 | 166 | 4/25/2026 |
| 4.0.22 | 169 | 4/25/2026 |
| 4.0.21 | 170 | 4/25/2026 |
| 4.0.20 | 167 | 4/25/2026 |
| 4.0.19 | 163 | 4/24/2026 |
| 4.0.18 | 170 | 4/24/2026 |
| 4.0.17 | 170 | 4/23/2026 |
| 4.0.16 | 177 | 4/23/2026 |
| 4.0.15 | 171 | 4/23/2026 |
| 4.0.14 | 164 | 4/23/2026 |
| 4.0.13 | 170 | 4/22/2026 |
| 4.0.12 | 159 | 4/22/2026 |
| 4.0.11 | 157 | 4/22/2026 |
| 4.0.10 | 161 | 4/22/2026 |
| 4.0.9 | 163 | 4/20/2026 |