Authentication
Firebase Authentication provides a secure and flexible system for identifying users across devices and sessions. It supports multiple sign-in methods and handles user identity, session management, and credential validation without requiring a custom backend.
The Authentication module in this plugin exposes the core Firebase Authentication workflows in a form suitable for Unreal Engine games and applications, covering anonymous, email and password, and platform-native sign-in flows on Android and iOS.
Capabilities
- Initialize the Firebase Authentication system.
- Sign in users anonymously for guest or temporary sessions.
- Create and sign in users using email and password credentials.
- Sign in users with Google Sign-In on Android.
- Sign in users with Apple on iOS.
- Send password reset emails.
- Send email verification messages.
- Re-authenticate users for sensitive operations.
- Link email/password, Google, or Apple authentication providers where supported.
- Sign out the current user.
- Update user email and password.
- Delete the authenticated user account.
- Retrieve the current user's ID token.
- Access basic profile information of the authenticated user.
- Listen for authentication state changes.
Platform-Specific Providers
The plugin uses the native sign-in provider for each mobile platform:
- Android: Google Sign-In
- iOS: Sign in with Apple
Email/password and anonymous authentication are available on both Android and iOS.
Important Notes
- Authentication providers must be enabled in Firebase Console → Authentication → Sign-in method before they can be used.
- Google Sign-In on Android requires the appropriate SHA certificate fingerprints to be registered in the Firebase project.
- Sign in with Apple on iOS requires the Sign in with Apple capability to be enabled for the application and the Apple provider to be configured in Firebase Authentication.
- Re-authentication is required by Firebase before performing sensitive actions such as updating credentials or deleting a user account.
- Authentication state listeners remain active and should be managed carefully to avoid duplicate callbacks.