לפני שאתה מתחיל
- אם עדיין לא עשית זאת, הוסף את Firebase לפרויקט Android שלך .
- באמצעות אנדרואיד BoM של Firebase , הצהירו על התלות בספריית אנדרואיד האימות של Firebase במודול שלכם (ברמת האפליקציה) קובץ Gradle (בדרך כלל
app/build.gradle
).ג'אווה
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:27.0.0') // Declare the dependency for the Firebase Authentication library // When using the BoM, you don't specify versions in Firebase library dependencies implementation 'com.google.firebase:firebase-auth' }
על ידי שימוש ב- Firebase Android BoM , האפליקציה שלך תשתמש תמיד בגרסאות תואמות של ספריות Android של Firebase.
(חלופי) הצהיר על תלות בספריית Firebase מבלי להשתמש ב- BoM
אם תבחר שלא להשתמש ב- Firebase BoM, עליך לציין כל גרסת ספריית Firebase בשורת התלות שלה.
שים לב שאם אתה משתמש בספריות Firebase מרובות באפליקציה שלך, אנו ממליצים בחום להשתמש ב- BoM לניהול גרסאות ספרייה, מה שמבטיח שכל הגרסאות תואמות.
dependencies { // Declare the dependency for the Firebase Authentication library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation 'com.google.firebase:firebase-auth:20.0.4' }
Kotlin + KTX
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:27.0.0') // Declare the dependency for the Firebase Authentication library // When using the BoM, you don't specify versions in Firebase library dependencies implementation 'com.google.firebase:firebase-auth-ktx' }
על ידי שימוש ב- Firebase Android BoM , היישום שלך ישתמש תמיד בגרסאות תואמות של ספריות Android ל- Firebase.
(חלופי) הצהיר על תלות בספריית Firebase מבלי להשתמש ב- BoM
אם תבחר לא להשתמש ב- Firebase BoM, עליך לציין כל גרסת ספריית Firebase בשורת התלות שלה.
שים לב שאם אתה משתמש במספר ספריות Firebase באפליקציה שלך, אנו ממליצים בחום להשתמש ב- BoM לניהול גרסאות ספרייה, מה שמבטיח שכל הגרסאות תואמות.
dependencies { // Declare the dependency for the Firebase Authentication library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation 'com.google.firebase:firebase-auth-ktx:20.0.4' }
- קבל את מפתחות השרת של הפרויקט שלך:
- עבור לדף חשבונות השירות בהגדרות הפרויקט שלך.
- לחץ על צור מפתח פרטי חדש בתחתית החלק של Firebase Admin SDK בדף חשבונות השירות .
- צמד המפתחות הציבורי / פרטי של חשבון השירות החדש נשמר אוטומטית במחשב שלך. העתק קובץ זה לשרת האימות שלך.
אמת עם Firebase
- בשיטת ה-
onCreate
של פעילות הכניסה שלך, קבל את המופע המשותף של האובייקטFirebaseAuth
:ג'אווה
private FirebaseAuth mAuth; // ... // Initialize Firebase Auth mAuth = FirebaseAuth.getInstance();
Kotlin + KTX
private lateinit var auth: FirebaseAuth // ... // Initialize Firebase Auth auth = Firebase.auth
- בעת אתחול הפעילות שלך, בדוק אם המשתמש מחובר כעת:
ג'אווה
@Override public void onStart() { super.onStart(); // Check if user is signed in (non-null) and update UI accordingly. FirebaseUser currentUser = mAuth.getCurrentUser(); updateUI(currentUser); }
Kotlin + KTX
public override fun onStart() { super.onStart() // Check if user is signed in (non-null) and update UI accordingly. val currentUser = auth.currentUser updateUI(currentUser) }
- כאשר משתמשים נכנסים לאפליקציה שלך, שלח את אישורי הכניסה שלהם (למשל, שם המשתמש והסיסמה שלהם) לשרת האימות שלך. השרת שלך בודק את האישורים ומחזיר אסימון מותאם אישית אם הם תקפים.
- לאחר שתקבל את האסימון המותאם אישית משרת האימות שלך, העביר אותו ל-
signInWithCustomToken
כדי להיכנס למשתמש:אם הכניסה מצליחה,ג'אווה
mAuth.signInWithCustomToken(mCustomToken) .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() { @Override public void onComplete(@NonNull Task<AuthResult> task) { if (task.isSuccessful()) { // Sign in success, update UI with the signed-in user's information Log.d(TAG, "signInWithCustomToken:success"); FirebaseUser user = mAuth.getCurrentUser(); updateUI(user); } else { // If sign in fails, display a message to the user. Log.w(TAG, "signInWithCustomToken:failure", task.getException()); Toast.makeText(CustomAuthActivity.this, "Authentication failed.", Toast.LENGTH_SHORT).show(); updateUI(null); } } });
Kotlin + KTX
customToken?.let { auth.signInWithCustomToken(it) .addOnCompleteListener(this) { task -> if (task.isSuccessful) { // Sign in success, update UI with the signed-in user's information Log.d(TAG, "signInWithCustomToken:success") val user = auth.currentUser updateUI(user) } else { // If sign in fails, display a message to the user. Log.w(TAG, "signInWithCustomToken:failure", task.exception) Toast.makeText(baseContext, "Authentication failed.", Toast.LENGTH_SHORT).show() updateUI(null) } } }
AuthStateListener
אתה יכול להשתמש בשיטתgetCurrentUser
כדי לקבל את נתוני החשבון של המשתמש.
הצעדים הבאים
לאחר שמשתמש נכנס בפעם הראשונה, נוצר חשבון משתמש חדש ומקושר לאישורי האישור - כלומר לשם המשתמש והסיסמה, מספר הטלפון או פרטי ספק האימות - המשתמש נכנס איתו. חשבון חדש זה מאוחסן כחלק מפרויקט Firebase שלך, וניתן להשתמש בו כדי לזהות משתמש בכל אפליקציה בפרויקט שלך, ללא קשר לאופן שבו המשתמש נכנס.
באפליקציות שלך תוכל לקבל את פרטי הפרופיל הבסיסיים של המשתמש מאובייקט
FirebaseUser
. ראה ניהול משתמשים .במסד הנתונים שלך בזמן אמת של Firebase ובכללי האבטחה של אחסון ענן, אתה יכול לקבל את מזהה המשתמש הייחודי של המשתמש
auth
ממשתנהauth
, ולהשתמש בו כדי לשלוט לאילו נתונים המשתמש יכול לגשת.
באפשרותך לאפשר למשתמשים להיכנס לאפליקציה שלך באמצעות ספקי אימות מרובים על ידי קישור אישורי ספק האימות לחשבון משתמש קיים.
כדי לצאת ממשתמש, התקשר ל-
signOut
:ג'אווה
FirebaseAuth.getInstance().signOut();
Kotlin + KTX
Firebase.auth.signOut()
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2021-03-12 UTC.
- קבל את מפתחות השרת של הפרויקט שלך: