מעבר מערכת הכלים של Google Identity לאימות ב-Firebase

הגרסה החדשה של ערכת הכלים לניהול זהויות של Google הושקה בשם אימות ב-Firebase. מעכשיו, העבודה עם תכונות בערכת הכלים לניהול זהויות יוקפאה, וכל פיתוח של תכונות חדשות יתבצע באמצעות אימות ב-Firebase. אנחנו ממליצים למפתחים של כלי אימות הזהות לעבור להשתמש באימות ב-Firebase בהקדם האפשרי באפליקציות שלהם. עם זאת, ערכת הכלים הזהויות ממשיכה לפעול ולא נוציא אותה משימוש ללא הודעה נוספת.

תכונות חדשות

לאימות ב-Firebase כבר יש שיפורים משמעותיים בתכונות בהשוואה לערכת הכלים של Google Identity:

  • גישה לכל האפליקציות ב-Firebase

    Firebase היא פלטפורמה לנייד שעוזרת לפתח במהירות אפליקציות איכותיות, להגדיל את בסיס המשתמשים ולהרוויח יותר כסף. פלטפורמת Firebase מורכבת מתכונות משלימות שאפשר לשלב ולהתאים לפי הצרכים שלך. היא כוללת גם תשתיות: Analytics לנייד, העברת הודעות בענן, מסד נתונים בזמן אמת, אחסון קבצים, אירוח סטטי, הגדרה מרחוק, דיווח על קריסות לנייד ובדיקות של Android .

  • ממשקי משתמש מעודכנים

    בנינו מחדש את התהליכים בממשק המשתמש על סמך המחקר האחרון של Google בנושא חוויית המשתמש. התהליך הזה כולל שחזור סיסמה, קישור חשבונות, תהליכי הבחנה בין חשבונות חדשים/קיימים שלרוב לוקחים הרבה זמן לתכנת ולנפות באגים. היא מאפשרת לשלב את Smart Lock לסיסמאות ב-Android, מה שיפר משמעותית את תהליך הכניסה לחשבון והמרה באפליקציות המשתתפות בתוכנית. הוא גם תומך בקלות בשינוי עיצוב כדי להתאים לאפליקציה שלכם, וכדי שההתאמה האישית תהיה מדויקת ככל האפשר, הגרסאות ל-Android ול-iOS הן קוד פתוח.

  • הגדרת שרת פשוטה יותר

    עכשיו מפתחים יכולים להשתמש באימות ב-Firebase בקלות רבה יותר. בעזרת ערכת הכלים לניהול זהויות, ראינו שמפתחים רבים בחרו לא להטמיע את תהליך שחזור האימייל, ולכן המשתמשים שלהם לא הצליחו לשחזר את החשבונות במקרה ששכחו את הסיסמה. באמצעות אימות ב-Firebase אפשר לשלוח למשתמשים אימות אימייל, איפוס סיסמה והודעות לגבי שינוי הסיסמה, כך שתוכלו להתאים אישית בקלות את הטקסט עבור המשתמשים. בנוסף, כבר לא צריך לארח את הווידג'טים של ממשק המשתמש כדי לארח הפניות אוטומטיות וכדי להשלים פעולות של שינוי סיסמה.

  • מסוף Admin חדש

    ב-Firebase יש מסוף מפתחים חדש, ובקטע 'אימות' תוכלו לראות, לשנות ולמחוק את המשתמשים. האפשרות הזו יכולה להיות שימושית מאוד בניפוי באגים בתהליכי הכניסה וההרשמה. המסוף גם מאפשר להגדיר שיטות אימות ולהתאים אישית תבניות אימייל.

  • ערכות SDK חדשות

    כל ממשקי ה-API לשרתים של ערכת הכלים לניהול זהויות זמינים עכשיו בכל אחת מספריות הלקוח שלנו (Android, iOS ואינטרנט). המפתחים יוכלו להיכנס ולרשום משתמשים ישנים וחדשים, לגשת למאפייני משתמשים, לקשר, לעדכן ולמחוק חשבונות, לאפס סיסמאות ועוד – בלי להיות כבולים לממשק משתמש קבוע. אם אתם מעדיפים, תוכלו ליצור באופן ידני את תהליך הכניסה המלא ואת חוויית הכניסה שלכם, על גבי ה-API הזה.

  • ניהול סשנים באפליקציות לנייד

    בעזרת Identity Toolkit, אפליקציות יצרו מצב סשן משלהן על סמך אירוע האימות הראשוני מ-Identity Toolkit. ב-Firebase Auth משתמש בשירות לקצה העורפי שלוקח אסימון רענון שנוצר מהאירוע של האימות, וממיר אותו באסימוני גישה למשך שעה ל-Android, ל-iOS ול-JavaScript. כשהמשתמשים משנים את הסיסמה שלהם, אסימוני הרענון לא יכולים יותר ליצור אסימוני גישה חדשים, ולכן הם משביתים את הגישה עד שהמשתמש יבצע אימות מחדש במכשיר.

  • אימות אנונימי ואימות ב-GitHub

    באימות ב-Firebase יש תמיכה בשני סוגי אימות חדשים: GitHub ואנונימי. אפשר להשתמש בכניסה אנונימית כדי ליצור מזהה משתמש ייחודי, בלי שהמשתמש יצטרך לעבור תהליך כניסה או הרשמה. בזכות משתמש אנונימי, עכשיו תוכלו לבצע קריאות ל-API מאומתות, כמו כל משתמש רגיל. כשהמשתמש מחליט להירשם לחשבון, כל הפעילות נשמרת עם אותו מזהה משתמש. כדאי להשתמש באפשרות הזו במצבים כמו עגלת קניות בצד השרת או כל אפליקציה שבה רוצים ליצור מעורבות עם המשתמש לפני ששולחים אותו בתהליך הרשמה.

הבדלי תכונות

חלק מהתכונות של Identity Toolkit לא זמינות כרגע באימות ב-Firebase, ופיצ'רים אחרים עוצבו מחדש ופועלות באופן שונה. ייתכן שתבחרו לא לבצע העברה מיידית אם התכונות האלה חשובות לאפליקציה שלכם. במקרים רבים, ייתכן שהתכונות האלה לא יהיו חשובות לאפליקציה או שיהיו חלופות פשוטות שיאפשרו לכם להמשיך בהעברה.

הבדלים בצד השרת

בוצעו עדכונים קטנים בלבד בשירות הליבה של Identity Toolkit, שכולל את ממשקי ה-API ל-REST, לוגיקת אימות החשבונות ומסד הנתונים הראשי של המשתמשים. עם זאת, השתנו חלק מהתכונות והאופן שבו משלבים אימות ב-Firebase בשירות שלכם.

  • ספקי זהויות

    אין תמיכה ב-PayPal וב-AOL. משתמשים עם חשבונות מה-IdP האלה עדיין יכולים להיכנס לאפליקציה באמצעות תהליך שחזור הסיסמה ולהגדיר סיסמה לחשבון שלהם.

  • ספריות שרתים

    כרגע יש ערכות SDK לניהול Firebase שזמינות ל-Java, Node.js, Python, Go ו-C#.

  • אימיילים שקשורים לניהול החשבון

    הודעות על איפוס סיסמה, אימות אימייל ושינוי אימייל יכולים להתבצע על ידי Firebase או דרך שרת האימייל של המפתח. בשלב זה, תבניות האימייל של Firebase מאפשרות התאמה אישית מוגבלת בלבד.

  • אישור שינוי של כתובת אימייל

    בערכת הכלים של הזהויות, כשמשתמש מחליט לשנות את כתובת האימייל, הוא שולח אימייל לכתובת החדשה עם קישור כדי להמשיך בתהליך השינוי של כתובת האימייל.

    כדי לאשר את השינוי בכתובת האימייל, מערכת Firebase שולחת הודעת אימייל לביטול לכתובת האימייל הישנה עם קישור לביטול השינוי.

  • השקת IDP

    בעזרת ערכת הכלים הזהויות הייתה אפשרות להוסיף ספקי זהויות למערכת הכניסה שלכם בהדרגה, כך שתוכלו להתנסות בהשפעה על בקשות התמיכה שלכם. התכונה הזו הוסרה ב'אימות ב-Firebase'.

הבדלים בצד הלקוח

ב-Firebase, התכונות שמספקות ערכת הכלים של Google Identity מתפצלות לשני רכיבים:

  • ערכות SDK לאימות ב-Firebase

    באימות ב-Firebase, הפונקציונליות שסופקה על ידי ה-API ל-REST של כלי הזהויות נארזה בערכות SDK של הלקוח שזמינות ל-Android, ל-iOS ול-JavaScript. במקום לתקשר עם השירות לקצה העורפי באמצעות קריאות ל-REST, תוכלו להשתמש ב-SDK כדי להיכנס ולרשום משתמשים, לגשת לפרטי פרופילים של משתמשים, לקשר חשבונות, לעדכן ולמחוק אותם ולאפס סיסמאות באמצעות ה-SDK של הלקוח.

  • אימות FirebaseUI

    כל התהליכים בממשק המשתמש לניהול כניסה, הרשמה, שחזור סיסמאות וקישור חשבונות נבנו מחדש באמצעות Frebase Authentication SDK. הן זמינות כערכות SDK עם קוד פתוח ל-iOS ול-Android, כדי לאפשר התאמה אישית מלאה של תהליכי העבודה בדרכים שלא אפשריות בערכת הכלים לניהול זהויות.

הבדלים נוספים כוללים:

  • סשנים והעברה

    מאחר שסשנים מנוהלים באופן שונה ב-Identity Toolkit ובאימות ב-Firebase, הסשנים הקיימים של המשתמשים יסתיימו לאחר שדרוג ה-SDK, והמשתמשים יצטרכו להיכנס שוב.

לפני שמתחילים

כדי שתוכלו לעבור מערכת הכלים לזהויות לאימות ב-Firebase,

  1. פותחים את מסוף Firebase, לוחצים על Import Google Project ובוחרים את הפרויקט של Identity ערכת הכלים.

  2. לוחצים על > Permissions כדי לפתוח את הדף IAM & Admin.

  3. פותחים את הדף Service accounts. כאן תוכלו לראות את חשבון השירות שהגדרתם בעבר ל-Identity Toolkit.

  4. לצד חשבון השירות, לוחצים על > Create key (יצירת מפתח). לאחר מכן, בתיבת הדו-שיח Create Private key, מגדירים את סוג המפתח כ-JSON ולוחצים על Create. המערכת תוריד עבורכם קובץ JSON עם פרטי הכניסה של חשבון השירות. תצטרכו אותה כדי לאתחל את ה-SDK בשלב הבא.

  5. חוזרים למסוף Firebase. בקטע 'אימות', פותחים את הדף תבניות אימייל. בדף הזה, התאימו אישית את תבניות האימייל של האפליקציה.

    ב-Identity Toolkit, שבו משתמשים איפסו סיסמאות, שינו כתובות אימייל ואימתו את כתובות האימייל שלהם, היה צורך לקבל קוד OOB מהשרת של Identity Toolkit ולאחר מכן לשלוח את הקוד למשתמשים באימייל. מערכת Firebase שולחת אימיילים על סמך התבניות שהגדרתם, ללא צורך בפעולות נוספות.

  6. אופציונלי: אם אתם צריכים גישה לשירותי Firebase בשרת, התקינו את Firebase SDK.

    1. אפשר להתקין את מודול Node.js של Firebase באמצעות npm:

      $ npm init
      $ npm install --save firebase-admin
      
    2. בקוד שלכם, אפשר לגשת ל-Firebase באמצעות:

      var admin = require('firebase-admin');
      var app = admin.initializeApp({
        credential: admin.credential.cert('path/to/serviceAccountCredentials.json')
      });
      

אחר כך מבצעים את שלבי ההעברה לפלטפורמת האפליקציה: Android, iOS, אתר.

שרתים ו-JavaScript

שינויים בולטים

יש עוד כמה הבדלים בהטמעה של Firebase באינטרנט מערכת הכלים של Identity.

  • ניהול סשנים באינטרנט

    בעבר, כשמשתמש עבר אימות באמצעות הווידג'ט של כלי הזהויות, הוגדר למשתמש קובץ cookie ששימש לאתחול הסשן. לקובץ ה-cookie הזה היה משך חיים של שבועיים, והוא שימש כדי לאפשר למשתמש להשתמש בווידג'ט לניהול החשבון כדי לשנות את הסיסמה וכתובת האימייל. חלק מהאתרים השתמשו בקובץ ה-cookie הזה כדי לאמת את כל הבקשות האחרות לדפים באתר. אתרים אחרים השתמשו בקובץ ה-cookie כדי ליצור קובצי cookie משלהם באמצעות מערכת ניהול קובצי ה-cookie של ה-framework שלהם.

    ערכות SDK של לקוחות ב-Firebase מנהלות עכשיו אסימונים מזהים של Firebase ועובדות עם הקצה העורפי של האימות ב-Firebase כדי לשמור על עדכניות הסשן. כשמתרחשים שינויים חשובים בחשבון (כמו שינויים בסיסמה של המשתמש), פג התוקף של הסשנים לקצה העורפי. אסימונים מזהים של Firebase לא מוגדרים באופן אוטומטי כקובצי cookie בלקוח האינטרנט, והם תוחלת החיים של שעה בלבד. אסימונים מזהים של Firebase לא מתאימים לשימוש בתור קובץ cookie כדי לאמת את כל הבקשות לדפים, אלא אם אתם רוצים שסשנים יימשכו רק שעה. במקום זאת, תצטרכו להגדיר listener למשתמש שאליו המשתמש מתחבר, לקבל את האסימון המזהה של Firebase, לאמת את האסימון וליצור קובץ cookie משלכם דרך מערכת ניהול קובצי ה-cookie של ה-framework.

    תצטרכו להגדיר את משך החיים של קובץ ה-cookie שלכם בהתאם לצורכי האבטחה באפליקציה.

  • תהליך הכניסה באינטרנט

    בעבר, משתמשים הופנו אל accountchooser.com כשהתבצעה כניסה כדי לדעת באיזה מזהה הם רוצים להשתמש. התהליך של ממשק המשתמש של Firebase Auth מתחיל עכשיו ברשימה של שיטות כניסה, כולל אפשרות אימייל שמובילה אל accountchooser.com באינטרנט ומשתמשת ב-hintRequest API ב-Android. בנוסף, אין יותר צורך בכתובות אימייל בממשק המשתמש של Firebase. כך יהיה קל יותר לתמוך במשתמשים אנונימיים, במשתמשי אימות בהתאמה אישית או במשתמשים מספקים שלא נדרשות כתובות אימייל.

  • ווידג'ט של ניהול החשבון

    הווידג'ט הזה מספק ממשק משתמש שמאפשר למשתמשים לשנות כתובות אימייל, לשנות סיסמה או לבטל את הקישור של החשבונות שלהם מספקי זהויות. הוא נמצא כרגע בשלבי פיתוח.

  • לחצן/ווידג'ט כניסה

    ווידג'טים כמו לחצן הכניסה וכרטיס המשתמש כבר לא זמינים. אפשר ליצור אותם בקלות באמצעות Firebase Authentication API.

  • אין signOutUrl

    עליך להתקשר אל firebase.auth.signOut() ולטפל בהתקשרות החוזרת.

  • אין oobActionUrl

    שליחת האימייל מטופלת עכשיו על ידי Firebase, והיא מוגדרת במסוף Firebase.

  • התאמה אישית של שירות ה-CSS

    FirebaseUI משתמש בסגנון Material Design Lite, שמוסיף באופן דינמי אנימציות של עיצוב חדשני תלת-ממדי.

שלב 1: משנים את קוד השרת

  1. אם השרת מסתמך על האסימון של Identity Toolkit (תקף לשבועיים) כדי לנהל סשנים של משתמשי אינטרנט, עליכם להמיר את השרת לשימוש בקובץ cookie של סשן משלו.

    1. מטמיעים נקודת קצה לאימות אסימון המזהה של Firebase ולהגדרה של קובץ ה-cookie של הסשן עבור המשתמש. אפליקציית הלקוח שולחת את האסימון המזהה של Firebase לנקודת הקצה הזאת.
    2. אם הבקשה הנכנסת מכילה קובץ cookie של סשן משלכם, תוכלו להתייחס למשתמש כמאומת. אחרת, יש להתייחס לבקשה כבקשה לא מאומתת.
    3. אם אתם לא רוצים שהמשתמשים שלכם יאבדו את הסשנים המחוברים שלהם, עליכם להמתין שבועיים עד שתוקף האסימונים של ערכת הכלים לזהויות יפוג, או לבצע אימות כפול של אסימונים באפליקציית האינטרנט, כפי שמתואר בהמשך בשלב 3.
  2. הסיבה לכך היא שהאסימונים של Firebase שונים מהאסימונים של ערכת הכלים לזהויות, ולכן עליכם לעדכן את הלוגיקה של אימות האסימון. מתקינים את Firebase Server SDK בשרת. לחלופין, אם אתם משתמשים בשפה שלא נתמכת ב-Firebase Server SDK, מורידים ספריית אימות של אסימון JWT בסביבה שבה אתם נמצאים ומאמתים את האסימון כמו שצריך.

  3. כשמבצעים את העדכונים האלה בפעם הראשונה, יכול להיות שעדיין יהיו לכם נתיבי קוד שמסתמכים על אסימונים של ערכת הכלים של Google Identity. אם יש לכם אפליקציות ל-iOS או ל-Android, המשתמשים יצטרכו לשדרג לגרסה החדשה של האפליקציה כדי שנתיבי הקוד החדשים יפעלו. אם אתם לא רוצים לאלץ את המשתמשים לעדכן את האפליקציה, אפשר להוסיף עוד לוגיקה לאימות השרת שבודקת את האסימון וקובעת אם יש צורך להשתמש ב-Firebase SDK או ב-Identity Toolkit SDK כדי לאמת את האסימון. אם יש לכם רק אפליקציית אינטרנט, כל בקשות האימות החדשות יועברו ל-Firebase, ולכן תצטרכו להשתמש רק בשיטות לאימות אסימונים ב-Firebase.

מידע נוסף זמין בחומר העזר בנושא Firebase Web API.

שלב 2: מעדכנים את קוד ה-HTML

  1. מוסיפים את קוד האתחול של Firebase לאפליקציה:

    1. פותחים את הפרויקט במסוף Firebase.
    2. בדף Overview (סקירה כללית), לוחצים על Add App (הוספת אפליקציה) ואז על Add Firebase to your web app (הוספת Firebase לאפליקציית האינטרנט). יוצג קטע קוד שמפעיל את Firebase.
    3. מעתיקים ומדביקים את קטע הקוד של האתחול בדף האינטרנט.
  2. מוסיפים את FirebaseUI Auth לאפליקציה:

    <script src="https://www.gstatic.com/firebasejs/ui/live/0.4/firebase-ui-auth.js"></script>
    <link type="text/css" rel="stylesheet" href="https://www.gstatic.com/firebasejs/ui/live/0.4/firebase-ui-auth.css" />
    <!-- *******************************************************************************************
       * TODO(DEVELOPER): Paste the initialization snippet from:
       * Firebase Console > Overview > Add Firebase to your web app. *
       ***************************************************************************************** -->
    <script type="text/javascript">
      // FirebaseUI config.
      var uiConfig = {
        'signInSuccessUrl': '<url-to-redirect-to-on-success>',
        'signInOptions': [
          // Leave the lines as is for the providers you want to offer your users.
          firebase.auth.GoogleAuthProvider.PROVIDER_ID,
          firebase.auth.FacebookAuthProvider.PROVIDER_ID,
          firebase.auth.TwitterAuthProvider.PROVIDER_ID,
          firebase.auth.GithubAuthProvider.PROVIDER_ID,
          firebase.auth.EmailAuthProvider.PROVIDER_ID
        ],
        // Terms of service url.
        'tosUrl': '<your-tos-url>',
      };
    
      // Initialize the FirebaseUI Widget using Firebase.
      var ui = new firebaseui.auth.AuthUI(firebase.auth());
      // The start method will wait until the DOM is loaded.
      ui.start('#firebaseui-auth-container', uiConfig);
    </script>
    
  3. עליך להסיר את ה-SDK של ערכת הכלים לניהול זהויות מהאפליקציה שלך.

  4. אם הסתמכתם על האסימון המזהה של ערכת הכלים לניהול זהויות לצורך ניהול סשנים, עליכם לבצע את השינויים הבאים בצד הלקוח:

    1. אחרי שתיכנסו בהצלחה באמצעות Firebase, תוכלו לקבל אסימון מזהה של Firebase באמצעות קריאה ל-firebase.auth().currentUser.getToken().

    2. שולחים את האסימון המזהה של Firebase לשרת הקצה העורפי, מאמתים אותו ומפיקים את קובץ ה-cookie של הסשן.

      אל תסתמכו רק על קובץ ה-cookie של הסשן במהלך פעולות רגישות או כששולחים לשרת בקשות עריכה מאומתות. תצטרכו לספק הגנה נוספת מפני זיוף בקשות בין אתרים (CSRF).

      אם ה-framework לא מספק הגנת CSRF, אחת הדרכים למנוע תקיפה היא להשיג אסימון מזהה של Firebase עבור המשתמש המחובר עם getToken() ולכלול את האסימון עם כל בקשה (קובץ ה-cookie של הסשן גם יישלח כברירת מחדל). לאחר מכן צריך לאמת את האסימון באמצעות ה-SDK של שרת Firebase, בנוסף לבדיקת קובצי ה-cookie של הסשן, שאותה השלימה ה-framework של הקצה העורפי. כך יהיה קשה יותר למתקפות CSRF להצליח, כי האסימון המזהה של Firebase נשמר רק באמצעות אחסון באינטרנט ואף פעם לא בקובץ cookie.

    3. אסימונים של ערכת הכלים לזהויות תקפים למשך שבועיים. כדאי להמשיך להנפיק אסימונים שנשארים בשבועיים, או לקצר או להאריך את התוקף שלהם בהתאם לדרישות האבטחה של האפליקציה. כשמשתמש מתנתק, מסירים את קובץ ה-cookie של הסשן.

שלב 3: עדכון כתובות URL להפניה אוטומטית של IDP

  1. במסוף Firebase, פותחים את הקטע Authentication ולוחצים על הכרטיסייה Sign-in Method (שיטת הכניסה).

  2. לכל ספק כניסה מאוחד שבו אתם תומכים, מבצעים את הפעולות הבאות:

    1. לוחצים על השם של ספק הכניסה.
    2. מעתיקים את ה-URI להפניה אוטומטית של OAuth.
    3. ב-Play Console של ספק הכניסה, מעדכנים את ה-URI להפניה אוטומטית ב-OAuth.

Android

שלב 1: מוסיפים את Firebase לאפליקציה

  1. פותחים את מסוף Firebase ובוחרים את הפרויקט של ערכת הכלים לזהויות, שכבר ייבאתם.

  2. בדף Overview (סקירה כללית), לוחצים על Add App (הוספת אפליקציה) ואז על Add Firebase to your Android app (הוספת Firebase לאפליקציה ל-Android). בתיבת הדו-שיח 'Add Firebase', מזינים את שם החבילה של האפליקציה ואת טביעת האצבע לאישור החתימה, ולוחצים על Add App (הוספת אפליקציה) ואז קובץ התצורה google-services.json יורד למחשב.

  3. מעתיקים את קובץ התצורה לספריית השורש של מודול האפליקציה ל-Android. קובץ התצורה הזה מכיל מידע על הפרויקט ועל לקוח OAuth של Google.

  4. בקובץ build.gradle ברמת הפרויקט (<var>your-project</var>/build.gradle), מציינים את שם החבילה של האפליקציה בקטע defaultConfig:

    defaultConfig {
       …..
      applicationId "com.your-app"
    }
    
  5. גם בקובץ build.gradle ברמת הפרויקט, מוסיפים תלות כדי לכלול את הפלאגין google-services:

    buildscript {
     dependencies {
       // Add this line
       classpath 'com.google.gms:google-services:3.0.0'
     }
    }
    
  6. בקובץ build.gradle ברמת האפליקציה (<var>my-project</var>/<var>app-module</var>/build.gradle), מוסיפים את השורה הבאה לתחתית המסך כדי להפעיל את הפלאגין google-services:

    // Add to the bottom of the file
    apply plugin: 'com.google.gms.google-services'
    

    הפלאגין google-services משתמש בקובץ google-services.json כדי להגדיר שהאפליקציה תשתמש ב-Firebase.

  7. מוסיפים גם את התלות של האימות ב-Firebase בקובץ build.gradle ברמת האפליקציה:

    compile 'com.google.firebase:firebase-auth:22.3.1'
    compile 'com.google.android.gms:play-services-auth:21.0.0'
    

שלב 2: הסרת ה-SDK של ערכת הכלים לזהות

  1. מסירים את ההגדרה של ערכת הכלים הזהויות מהקובץ AndroidManifest.xml. המידע הזה כלול בקובץ google-service.json ונטען באמצעות הפלאגין google-services.
  2. עליך להסיר את ה-SDK של ערכת הכלים לניהול זהויות מהאפליקציה שלך.

שלב 3: הוספת FirebaseUI לאפליקציה

  1. מוסיפים את FirebaseUI Auth לאפליקציה.

  2. באפליקציה, החליפו את הקריאות ל-Identity Toolkit בקריאות ל-FirebaseUI.

iOS

שלב 1: מוסיפים את Firebase לאפליקציה

  1. כדי להוסיף את Firebase SDK לאפליקציה, מריצים את הפקודות הבאות:

    $ cd your-project directory
    $ pod init
    $ pod 'Firebase'
    
  2. פותחים את מסוף Firebase ובוחרים את הפרויקט של ערכת הכלים לזהויות, שכבר ייבאתם.

  3. בדף Overview (סקירה כללית), לוחצים על Add App (הוספת אפליקציה) ואז על Add Firebase to your iOS app (הוספת Firebase לאפליקציה ל-iOS). בתיבת הדו-שיח 'Add Firebase', מזינים את מזהה חבילת האפליקציה ואת מזהה App Store ואז לוחצים על Add App (הוספת אפליקציה). קובץ התצורה GoogleService-Info.plist יורד למחשב. אם יש בפרויקט כמה מזהי חבילות, כל מזהה חבילה צריך להיות מחובר למסוף Firebase כדי שיהיה לו קובץ GoogleService-Info.plist משלו.

  4. מעתיקים את קובץ התצורה לשורש של פרויקט ה-Xcode ומוסיפים אותו לכל היעדים.

שלב 2: הסרת ה-SDK של ערכת הכלים לזהות

  1. יש להסיר את GoogleIdentityToolkit מ-Podfile של האפליקציה.
  2. מריצים את הפקודה pod install.

שלב 3: הוספת FirebaseUI לאפליקציה

  1. מוסיפים את FirebaseUI Auth לאפליקציה.

  2. באפליקציה, החליפו את הקריאות ל-Identity Toolkit בקריאות ל-FirebaseUI.