FireForNet.Firebase.Auth
1.0.1-preview.22
Prefix Reserved
dotnet add package FireForNet.Firebase.Auth --version 1.0.1-preview.22
NuGet\Install-Package FireForNet.Firebase.Auth -Version 1.0.1-preview.22
<PackageReference Include="FireForNet.Firebase.Auth" Version="1.0.1-preview.22" />
<PackageVersion Include="FireForNet.Firebase.Auth" Version="1.0.1-preview.22" />
<PackageReference Include="FireForNet.Firebase.Auth" />
paket add FireForNet.Firebase.Auth --version 1.0.1-preview.22
#r "nuget: FireForNet.Firebase.Auth, 1.0.1-preview.22"
#:package FireForNet.Firebase.Auth@1.0.1-preview.22
#addin nuget:?package=FireForNet.Firebase.Auth&version=1.0.1-preview.22&prerelease
#tool nuget:?package=FireForNet.Firebase.Auth&version=1.0.1-preview.22&prerelease
FireForNet.Firebase.Auth
Firebase Authentication for the FireForNet Firebase Client SDK for .NET.
About FireForNet
FireForNet is a platform-agnostic, .NET-native Firebase Client SDK developed as part of the Circuids ecosystem. It provides a consistent Firebase client development experience across .NET application environments, while allowing platform-specific implementations where Firebase requires them.
About This Package
This package provides the Firebase Authentication implementation for FireForNet. Supported flows include:
- Email/password, anonymous, custom token, and OAuth credential sign-in
- Email action links
- ID token refresh and user profile management
- Multi-factor authentication
- Auth state, ID token, and user change events
Persistent token storage and browser/native web authentication providers are provided by platform integration packages; this package owns the service-agnostic authentication contracts and flows.
Installation
dotnet add package FireForNet.Firebase.Auth
Targets net10.0. References FireForNet.Firebase.Core transitively.
Setup
builder.Services.AddFirebaseAuth();
Platform packages extend the returned FirebaseAuthBuilder:
builder.Services.AddFirebaseAuth().UseBlazor(...); // Blazor (all hosting models)
builder.Services.AddFirebaseAuth().UseBrowser(); // framework-independent WASM
builder.Services.AddFirebaseAuth().UseMaui(); // .NET MAUI
builder.Services.AddFirebaseAuth().UseWindows(); // Windows desktop
builder.Services.AddFirebaseAuth().UseAndroid(...); // native (non-MAUI) Android
builder.Services.AddFirebaseAuth().UseApple(...); // iOS / macOS / Mac Catalyst
Usage
Resolve IFirebaseAuth from DI:
public class SignInService(IFirebaseAuth auth)
{
public async Task<UserCredential> SignInAsync(string email, string password)
{
var credential = await auth.SignInWithEmailPasswordAsync(email, password);
return credential;
}
public async Task SignOutAsync() => await auth.SignOutAsync();
}
Observe auth and token changes through the events on IFirebaseAuth:
auth.AuthStateChanged += (_, e) => Console.WriteLine($"Auth state changed: {e.User?.Uid ?? "(signed out)"}");
auth.IdTokenChanged += async (_, e) => { /* use the refreshed token */ };
Sign-in methods available on IFirebaseAuth include SignInWithEmailPasswordAsync, SignInAnonymouslyAsync, SignInWithCustomTokenAsync, SignInWithCredentialAsync, SignInWithProviderAsync, and SignInWithEmailLinkAsync, plus CreateUserWithEmailPasswordAsync. Phone verification flows through IPhoneAuthProvider, and browser/native OAuth flows through IWebAuthProvider implementations registered by platform packages.
Related FireForNet Packages
| Package | Purpose |
|---|---|
FireForNet.Firebase.Auth.Blazor |
Blazor integration (WebAssembly, Server, Hybrid, Auto) |
FireForNet.Firebase.Auth.Browser |
Framework-independent WASM integration |
FireForNet.Firebase.Auth.Maui |
.NET MAUI integration |
FireForNet.Firebase.Auth.Windows |
Windows desktop integration |
FireForNet.Firebase.Auth.Android |
Native (non-MAUI) Android integration |
FireForNet.Firebase.Auth.Apple |
Apple native integration (iOS, macOS, Mac Catalyst) |
Documentation
Comprehensive FireForNet documentation is being prepared for the Release Candidate stage.
Project Status
FireForNet is currently available as a Preview release and is approaching its Release Candidate milestone. APIs, package structure, and implementation details may continue to evolve before RC and GA.
The RC milestone will be followed by an extensive cross-platform validation and testing phase before the first GA release.
All FireForNet packages are part of a coordinated release train and share the same version number.
Source Availability
FireForNet is currently being developed in a private source repository during the Preview development phase. The source will be made publicly available as the project approaches its open-source phase, with the public repository established from the appropriate release milestone.
Until then, NuGet Preview packages provide the public distribution channel for evaluating and using FireForNet.
License
This package is licensed under the Apache-2.0 license.
| Product | Versions 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. |
-
net10.0
- FireForNet.Firebase.Core (>= 1.0.1-preview.22)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.0)
NuGet packages (6)
Showing the top 5 NuGet packages that depend on FireForNet.Firebase.Auth:
| Package | Downloads |
|---|---|
|
FireForNet.Firebase.Auth.Browser
Package Description |
|
|
FireForNet.Firebase.Auth.Blazor
Package Description |
|
|
FireForNet.Firebase.Auth.Windows
Package Description |
|
|
FireForNet.Firebase.Auth.Maui
Package Description |
|
|
FireForNet.Firebase.Auth.Apple
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.1-preview.22 | 83 | 9/27/2026 |
| 1.0.1-preview.21 | 79 | 9/22/2026 |
| 1.0.1-preview.20 | 84 | 9/18/2026 |
| 1.0.1-preview.19 | 75 | 9/12/2026 |
| 1.0.1-preview.18 | 118 | 8/24/2026 |
| 1.0.1-preview.17 | 102 | 8/9/2026 |
| 1.0.1-preview.16 | 89 | 8/9/2026 |
| 1.0.1-preview.15 | 89 | 8/8/2026 |
| 1.0.1-preview.14 | 103 | 8/8/2026 |
| 1.0.1-preview.13 | 104 | 7/23/2026 |
| 1.0.1-preview.12 | 142 | 7/9/2026 |
| 1.0.1-preview.11 | 105 | 6/29/2026 |
| 1.0.1-preview.10 | 112 | 6/25/2026 |
| 1.0.1-preview.9 | 101 | 6/24/2026 |
| 1.0.1-preview.8 | 114 | 6/23/2026 |
| 1.0.1-preview.7 | 100 | 6/9/2026 |
| 1.0.1-preview.6 | 103 | 6/8/2026 |
| 1.0.1-preview.5 | 106 | 6/8/2026 |
| 1.0.1-preview.4 | 106 | 6/8/2026 |
| 1.0.1-preview.3 | 101 | 6/8/2026 |
v1.0.1-preview.22
- Synchronized package version with the preview.22 release.
v1.0.1-preview.21
- No functional changes; synchronized with the framework-free MAUI integration sweep.
v1.0.1-preview.20
- Synchronized package version with the preview.20 release.
v1.0.1-preview.19
- Synchronized package version with the preview.19 release.
v1.0.1-preview.18
- Mapped Firebase's INVALID_LOGIN_CREDENTIALS error code to AuthErrorCode.InvalidCredential in FirebaseAuthException.ParseErrorCode. Firebase's verifyPassword now returns INVALID_LOGIN_CREDENTIALS (superseding EMAIL_NOT_FOUND/INVALID_PASSWORD) when Email Enumeration Protection is enabled, which previously fell through to AuthErrorCode.Unknown.
v1.0.1-preview.17
- Synchronized package version with the preview.17 release.
v1.0.1-preview.16
- Synchronized package version with the preview.16 release.
v1.0.1-preview.15
- Synchronized package version with the preview.15 release.
v1.0.1-preview.14
- Synchronized package version with the preview.14 release.
v1.0.1-preview.13
- Synchronized package version with the preview.13 release.
v1.0.1-preview.12
- Synchronized package version with the preview.12 release.
v1.0.1-preview.11
- Synchronized package version with the preview.11 release.
v1.0.1-preview.10
- Synchronized package version with the preview.10 release.
v1.0.1-preview.9
- Synchronized package version with the preview.9 release.
v1.0.1-preview.8
- Synchronized package version with the preview.8 release.
v1.0.1-preview.7
- Synchronized package version with the preview.7 release.
v1.0.1-preview.6
- Synchronized package version with the preview.6 release.
v1.0.1-preview.5
- Synchronized package version with the preview.5 release.
v1.0.1-preview.4
- Synchronized package version with the preview.4 release.
v1.0.1-preview.3
- Synchronized package version with the preview.3 release.
v1.0.1-preview.2
- Synchronized package version with the preview.2 release.
v1.0.1-preview.1
- Synchronized package version with the preview10 release.
v1.0.0-preview9
- Synchronized package version with the preview9 browser-interop-migration release.
v1.0.0-preview8
- Synchronized package version with the preview8 release.
v1.0.0-preview7
- Synchronized package version with the preview7 Firestore local-cache architecture rework release.
v1.0.0-preview6
- Added hidden IFirebaseAuth.EnsureReadyAsync for precise persisted Auth state readiness before reading cached CurrentUser.
- Kept persisted restore and token refresh ownership in FirebaseAuthCredentialSource.
- Improved persisted Auth restore, concurrent readiness, sign-in race, and credential listener tests.
v1.0.0-preview5
- Synchronized package version with the preview5 release.
v1.0.0-preview4
- Synchronized package version with the preview4 release.
v1.0.0-preview3
- Fixed Auth exchange requests so app-level HttpClientFactory tracing headers do not alter Identity Toolkit or Secure Token calls.
v1.0.0-preview2
- Initial v1.0.0-preview2 package.