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

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

תכונות חדשות

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

  • גישה לכל הפלטפורמות של Firebase

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

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

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

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

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

  • מסוף Admin החדש

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

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

    כל ממשקי ה-API לשרתים של Identity Toolkit זמינים עכשיו באופן מקומי בכל אחת מספריות הלקוח שלנו (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. משתמשים עם חשבונות ממזהי החשבונות האלה עדיין יכולים להיכנס לאפליקציה באמצעות תהליך שחזור הסיסמה ולהגדיר סיסמה לחשבון שלהם.

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

    נכון לעכשיו, יש ערכות SDK לאדמינים ב-Firebase שזמינות ל-Java, Node.js, Python, Go ו-C#.

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

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

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

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

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

  • השקת ה-IdP

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

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

התכונות של Google Identity Toolkit מחולקות לשני רכיבים ב-Firebase:

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

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

  • FirebaseUI Auth

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

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

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

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

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

לפני שתוכלו לעבור מ-Identity Toolkit לאימות ב-Firebase,

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

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

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

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

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

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

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

    1. אתם יכולים להתקין את מודול Firebase Node.js באמצעות 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 באינטרנט מערכת הכלים לניהול זהויות.

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

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

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

    תצטרכו להגדיר את משך החיים של הסשן לקובץ ה-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, שמוסיף באופן דינמי אנימציות של עיצוב Material Design.

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

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

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

  3. בפעם הראשונה שתבצעו את העדכונים שלמעלה, יכול להיות שעדיין יהיו נתיבי קוד שמסתמכים על אסימונים של ערכת הכלים לניהול זהויות (IAM). אם יש לכם אפליקציות ל-iOS או ל-Android, המשתמשים יצטרכו לשדרג לגרסה החדשה של האפליקציה כדי שנתיבי הקוד החדשים יפעלו. אם אתם לא רוצים לאלץ את המשתמשים לעדכן את האפליקציה, אתם יכולים להוסיף לוגיקה נוספת לאימות השרת שבודקת את האסימון וקובעת אם הוא צריך להשתמש ב-Firebase SDK או ב-Identity Toolkit כדי לאמת את האסימון. אם יש לכם רק אפליקציית אינטרנט, כל בקשות האימות החדשות יועברו ל-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 של Identity Toolkit מהאפליקציה.

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

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

    2. שולחים את האסימון המזהה של Firebase לשרת העורפי, מאמתים אותו ומנפיקים קובץ Cookie משלכם לסשן.

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

      אם המסגרת הרעיונית שלכם לא מספקת הגנת 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. במסוף המפתחים של ספק הכניסה, מעדכנים את ה-URI להפניה אוטומטית של OAuth.

Android

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

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

  2. בדף Overview (סקירה כללית), לוחצים על Add App ולאחר מכן על Add Firebase to your Android app. בתיבת הדו-שיח 'הוספה של 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. בנוסף, בקובץ build.gradle ברמת האפליקציה מוסיפים את התלות של אימות ב-Firebase:

    compile 'com.google.firebase:firebase-auth:23.0.0'
    compile 'com.google.android.gms:play-services-auth:21.2.0'
    

שלב 2: הסרת ה-SDK של Identity Toolkit

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

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

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

  2. באפליקציה שלך, עליך להחליף קריאות ל-Identity Toolkit SDK בקריאות ל-FirebaseUI.

iOS

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

  1. מוסיפים את Firebase SDK לאפליקציה באמצעות הפקודות הבאות:

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

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

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

שלב 2: הסרת ה-SDK של Identity Toolkit

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

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

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

  2. באפליקציה שלך, עליך להחליף קריאות ל-Identity Toolkit SDK בקריאות ל-FirebaseUI.