FireForNet.Firebase.Auth.Apple
1.0.1-preview.22
Prefix Reserved
dotnet add package FireForNet.Firebase.Auth.Apple --version 1.0.1-preview.22
NuGet\Install-Package FireForNet.Firebase.Auth.Apple -Version 1.0.1-preview.22
<PackageReference Include="FireForNet.Firebase.Auth.Apple" Version="1.0.1-preview.22" />
<PackageVersion Include="FireForNet.Firebase.Auth.Apple" Version="1.0.1-preview.22" />
<PackageReference Include="FireForNet.Firebase.Auth.Apple" />
paket add FireForNet.Firebase.Auth.Apple --version 1.0.1-preview.22
#r "nuget: FireForNet.Firebase.Auth.Apple, 1.0.1-preview.22"
#:package FireForNet.Firebase.Auth.Apple@1.0.1-preview.22
#addin nuget:?package=FireForNet.Firebase.Auth.Apple&version=1.0.1-preview.22&prerelease
#tool nuget:?package=FireForNet.Firebase.Auth.Apple&version=1.0.1-preview.22&prerelease
FireForNet.Firebase.Auth.Apple
Apple-native platform integration for FireForNet Firebase Authentication (iOS, macOS, Mac Catalyst).
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 Apple-specific Firebase Authentication functionality for FireForNet. It multi-targets net10.0-ios, net10.0-macos, and net10.0-maccatalyst with no MAUI dependency.
It provides:
- Token storage —
KeychainTokenStoragestores auth tokens as a generic password item encrypted at rest by the OS keychain (SecKeyChainwithSecRecord/SecKind.GenericPassword), accessible after the first device unlock (SecAccessible.AfterFirstUnlock). - Web authentication —
AppleWebAuthProviderusesASWebAuthenticationSessionto open the Firebase__/auth/handlerOAuth URL in the system browser.SupportsPopupisfalse;SupportsRedirectistrue.
If Keychain access is unavailable, set EnableTokenStorage = false and provide a custom ITokenStorage implementation. The library does not fall back automatically — Keychain is the correct Apple platform storage, and silent fallback to a weaker mechanism would be a security concern.
Installation
dotnet add package FireForNet.Firebase.Auth.Apple
Usage
services.AddFirebase(new FirebaseOptions
{
ApiKey = "your-api-key",
ProjectId = "your-project"
})
.AddFirebaseAuth()
.UseApple(options =>
{
options.EnableTokenStorage = true;
options.EnableWebAuthProvider = true;
});
MAUI apps on Apple platforms should normally call UseMaui() from FireForNet.Firebase.Auth.Maui, which delegates to this package on the Apple TFMs.
Consumer setup
Keychain entitlements
- iOS / Mac Catalyst (sandboxed): the app must have a
keychain-access-groupsentitlement inEntitlements.plist; without it, Keychain operations fail withSecStatusCode.MissingEntitlement(-34018). Add the app's bundle ID as the first entry. - macOS (unsandboxed): Keychain access uses the user's login keychain; first use may prompt the user. No entitlement is required. Sandboxed macOS apps require the same
keychain-access-groupsentitlement as above.
Callback scheme registration
The redirect URI uses a custom URL scheme (firefornet-{projectId}://auth). Register this scheme in the app's Info.plist so the OS can route the callback back to the app (CFBundleURLTypes → CFBundleURLSchemes).
macOS presentation context
On net10.0-macos, ASWebAuthenticationSession requires a presentation anchor (window). If the app has no main window (e.g., a menu bar or console app), set EnableWebAuthProvider = false and implement a custom IWebAuthProvider. This only affects net10.0-macos — iOS and Mac Catalyst handle presentation automatically via UIKit.
Minimum OS versions
| TFM | Minimum |
|---|---|
net10.0-ios |
iOS 15.0 |
net10.0-macos |
macOS 10.15 (Catalina) |
net10.0-maccatalyst |
Mac Catalyst 15.0 (macOS 12 Monterey) |
Platform / Framework Support
| Platform / Framework | Status |
|---|---|
| iOS | Preview |
| macOS | Preview |
| Mac Catalyst | Preview |
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-ios26.0 is compatible. net10.0-maccatalyst26.0 is compatible. net10.0-macos26.0 is compatible. |
-
net10.0-ios26.0
- FireForNet.Firebase.Auth (>= 1.0.1-preview.22)
-
net10.0-maccatalyst26.0
- FireForNet.Firebase.Auth (>= 1.0.1-preview.22)
-
net10.0-macos26.0
- FireForNet.Firebase.Auth (>= 1.0.1-preview.22)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on FireForNet.Firebase.Auth.Apple:
| Package | Downloads |
|---|---|
|
FireForNet.Firebase.Auth.Maui
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.1-preview.22 | 61 | 9/27/2026 |
| 1.0.1-preview.21 | 66 | 9/22/2026 |
| 1.0.1-preview.20 | 59 | 9/18/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
- Synchronized package version with the preview.18 release.
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.