firebase_auth_ui
Flutter-Plugin für Firebase Auth UI. Unterstützt beliebte Auth-Anbieter mithilfe der nativen SDKs für Android und iOS.
Flutter-Plugin für Firebase Auth UI. Unterstützt beliebte Auth-Anbieter mithilfe der nativen SDKs für Android und iOS.
{"sdk":"flutter"}{"sdk":"flutter"}Englischer Projektschnappschuss. Aktuelle Inhalte auf GitHub.
Flutter plugin of Firebase UI which allows to add login/sign-up quickly.
NOTE: This plugin is under development. Please provide Feedback and Pull Requests in order to have your feature(s) integrated.
Screenshotimport 'package:firebase_auth_ui/firebase_auth_ui.dart';
import 'package:firebase_auth_ui/providers.dart';
FirebaseAuthUi.instance()
.launchAuth(
[
AuthProvider.email(), // Login/Sign up with Email and password
AuthProvider.google(), // Login with Google
AuthProvider.facebook(), // Login with Facebook
AuthProvider.twitter(), // Login with Twitter
AuthProvider.phone(), // Login with Phone number
],
tosUrl: "https://my-terms-url", // Optional
privacyPolicyUrl: "https://my-privacy-policy", // Optional,
)
.then((firebaseUser) =>
print("Logged in user is ${firebaseUser.displayName}"))
.catchError((error) => print("Error $error"));
void logout() async {
final result = await FirebaseAuthUi.instance().logout();
// ...
}
void delete() async {
final result = await FirebaseAuthUi.instance().delete();
// ...
}
Plugin returns FirebaseUser with following details:
| Field | Description |
|---|---|
| uid | UID of authenticated user |
| displayName | Display name of user |
| Email of user | |
| phoneNumber | Phone number of user |
| photoUri | URI of user's photo |
| providerId | Indicates through which provider user was authenticated. |
| isNewUser | Indicates if user is new |
| metaData | Object of MetaData |
MetaData
| Field | Description |
|---|---|
| creationTimestamp | Timestamp of user's creation |
| lastSignInTimestamp | Timestamp of user's last sign in |
Notes:
If you want to have full FirebaseUser object then please add firebase_auth dependency. You can then use FirebaseAuth.instance.currentUser().
Create a project on Firebase console and add Android and iOS platform in Settings > Your apps
Open project's build.gradle ([flutter_project]/android/build.gradle) and add following in dependencies{ ... }:
classpath 'com.google.gms:google-services:4.3.2'
Open app module's build.gradle ([flutter_project]/android/app/build.gradle) and add following at the end of file, i.e as a last line:
apply plugin: 'com.google.gms.google-services'
Copy the downloaded google-services.json in [flutter_project]/android/app directory.
Copy the downloaded GoogleService-Info.plist in [[flutter_project]/ios/Runner directory.
No additional setup required.
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>[REVERSED_CLIENT_ID]</string>
</array>
</dict>
</array>
Add following lines in strings.xml [flutter_project]/android/app/src/main/res/values
<string name="facebook_application_id" translatable="false">[YOUR_FACEBOOK_APP_ID]</string>
<string name="facebook_login_protocol_scheme" translatable="false">fb[YOUR_FACEBOOK_APP_ID]</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>fb[YOUR_FACEBOOK_APP_ID]</string>
</array>
</dict>
</array>
NOTE: If you have configured Google sign-in by following above steps, you already have CFBundleURLSchemes key defined with [REVERSE_CLIENT_ID]. In that case, just add
<string>fb[YOUR_FACEBOOK_APP_ID]</string>
below [REVERSE_CLIENT_ID]
<key>FacebookAppID</key>
<string>[YOUR_FACEBOOK_APP_ID]</string>
<key>FacebookDisplayName</key>
<string>[YOUR_FACEBOOOK_APP_NAME]</string>
Add following lines in strings.xml [flutter_project]/android/app/src/main/res/values
<string name="twitter_consumer_key" translatable="false">[YOUR_CONSUMER_KEY]</string>
<string name="twitter_consumer_secret" translatable="false">fb[YOUR_CONSUMER_SECRET]</string>
If you have already configured Google sign-in for iOS following above steps, then you don't need to do anything else. If not, please follow the exact same step.
No additional setup required.
If you have already configured Google sign-in for iOS following above steps, then you don't need to do anything else. If not, please follow the exact same step.
Rename your icon to auth_ui_logo.png then follow below steps:
strings.xml and that'll appear as title in action bar.colors.xml [flutter_project]/android/app/src/main/res/values<color name="colorPrimary">#[ACTIONBAR_COLOR]</color>
<color name="colorPrimaryDark">#[STATUSBAR_COLOR]</color>
Note: If you don't have colors.xml, please create one.
AuthProviders you passed in launchAuth(). For example if you have Email, Google and Facebook auth configured and would like the Facebook to appear first, you can simply pass the AuthProvider.facebook() as first element in the providers list.