firebase_auth_tvos
The tvOS (Apple TV) implementation of firebase_auth,
provided by the flutter-tvos toolchain.
Generated by
flutter-tvos plugin portfromfirebase_auth, then completed by hand. SeePORTING_REPORT.mdfor the full list of what was changed and disabled.
Usage
This is a federated plugin implementation. An app that already depends on
firebase_auth and targets Apple TV only needs to add this package alongside
it:
dependencies:
firebase_auth: ^6.5.4
firebase_auth_tvos: ^0.0.2
The native plugin registers automatically through flutter-tvos' plugin
registrant — no extra imports or setup in app code. Use the normal
firebase_auth API; it routes to the Apple TV native side.
tvOS support
Apple TV has no web browser (no ASWebAuthenticationSession/SFSafariViewController),
no SMS/telephony, and the Firebase Apple SDK does not expose multi-factor or
phone APIs for tvOS. As a result this plugin supports the auth methods that work
without a browser redirect, and throws/no-ops for the rest.
| Auth method | tvOS | Notes |
|---|---|---|
| Anonymous sign-in | ✅ | |
| Email / password (sign-in, create user, reset) | ✅ | |
| Email link sign-in | ✅ | |
| Sign in with Apple | ✅ | Uses ASAuthorizationController (no browser needed) |
| Custom token sign-in | ✅ | |
Token refresh, authStateChanges, sign-out, reload, profile update |
✅ | |
| Google / Facebook / GitHub / Twitter / Yahoo / Microsoft / generic OAuth | ❌ | Require a browser-redirect (signInWithProvider) tvOS can't show |
| Phone number / SMS verification | ❌ | No telephony on tvOS; not in the Firebase tvOS SDK |
| Multi-factor auth (TOTP & phone) | ❌ | Not exposed by the Firebase Apple SDK on tvOS |
| reCAPTCHA app verification | ❌ | Requires WebKit, absent on tvOS |
Calls into the unsupported methods return an unsupported-platform/
second-factor-required FirebaseAuthException rather than crashing. See
PORTING_REPORT.md for the exact per-method behaviour.
Verification level: ✅ means the path is implemented and compiles for tvOS. Anonymous sign-in is the only method runtime-verified end-to-end (live round-trip on the simulator and a physical Apple TV). The other ✅ rows share the same native code path but have not each been exercised against a live project — verify the specific flows your app uses before shipping.
Requirements
- Apple TV running tvOS 15.0 or later (the Firebase Apple SDK's minimum).
firebase_core_tvos(pulled in automatically).
Swift Package Manager
This package ships a tvos/Package.swift. flutter-tvos links a plugin that
ships tvos/Package.swift through Swift Package Manager and leaves it out of
the Podfile. No manual setup is needed. It depends on firebase_core_tvos
0.0.4, which ships one too, and takes firebase-ios-sdk ~> 12.15.0, as in the
podspec.
Needs flutter-tvos 1.3.0 or later, the first release that links plugins through
SwiftPM, places them side by side (so ../firebase_core_tvos and
../FlutterFramework resolve) and leaves them out of the Podfile.
License
fluttertv, under a BSD-3-Clause license. See LICENSE for the full text.