אימות מספר הטלפון ב-Firebase

Firebase Phone Number Verification (Firebase PNV) היא שיטה מהירה ומאובטחת יותר לאימות מספרי טלפון. בניגוד לאימות שמבוסס על SMS, שבו המשתמשים צריכים לקבל קוד בהודעת טקסט ולהזין אותו, Firebase PNV פועל כך שמספר הטלפון שמשויך לכרטיס ה-SIM במכשיר מתקבל ישירות מהספק המחובר בהקשה אחת. כך מקלים על המשתמשים, משפרים את האמינות כי לא מסתמכים על מסירת הודעות SMS, ומבטלים וקטורים של ניצול לרעה שמופעלים בדרך כלל כשמשתמשים ב-SMS.

יכולות עיקריות

חברות התובלה הן המקור הקובע באמצעות Firebase PNV, ‏ Google מקבלת את מספר הטלפון המאומת של כרטיס ה-SIM ישירות מהספק, ומציינת איזה מספר מופיע במכשיר שבו האפליקציה פועלת כרגע. קוד אימות חד-פעמי ב-SMS יכול רק להראות לכם אם למשתמש יש גישה למספר הטלפון.
שימוש עצמאי או עם ספק זהויות אפשר להשתמש ב-Firebase PNV כשיטה עצמאית של Phone Number Verification שקל לשלב ואפשר לסמוך עליה, או להשתמש בה כשיטת כניסה עם Firebase Authentication או עם מערכת אימות משלכם.
שימוש אוטומטי בחברות תובלה זמינות אפשר להשתמש ב-Firebase PNV SDK כדי לזהות תאימות ולחזור לשימוש בשיטה אחרת, כמו SMS, אם Firebase PNV עדיין לא נתמך במכשיר. התכונה Firebase PNV תהיה זמינה בהדרגה לספקי סלולר ברחבי העולם. כאשר ספקי סלולר חדשים יהיו זמינים, תוכלו להשתמש בהם באופן אוטומטי בלי לבצע שינויים נוספים באפליקציה. במאמר תמיכה בספקי סלולר מופיעה רשימה של ספקי הסלולר המשתתפים.
איך למנוע התקפות פישינג באמצעות SMS מכיוון ש-Firebase PNV לא שולחת הודעות SMS לאימות מספר טלפון, משתמשים לא יכולים להיות קורבנות של פישינג לקבלת קודים חד-פעמיים, שאפשר להשתמש בהם במתקפות השתלטות על חשבונות.

איך זה עובד?

כששולחים בקשה לאימות מספר טלפון, Firebase PNV:

  1. בודקים אם המכשיר של המשתמש וספק הסלולר שלו נתמכים.

  2. קבלת הסכמה מהמשתמש לשיתוף מספר הטלפון שלו עם האפליקציה שלכם.

  3. האימות מתבצע מול ספק הסלולר שמשויך לכרטיס ה-SIM כדי לקבל את מספר הטלפון המאומת.

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

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

נתיב ההטמעה

הגדרת פרויקט Firebase במסוף Firebase, משלימים את שלבי ההצטרפות כדי להפעיל את החיוב ואת Firebase Phone Number Verification API בפרויקט Firebase.
התקנה של ה-SDK והפעלה שלו מתקינים את Firebase PNV SDK לפלטפורמה של האפליקציה. ה-SDK דורש שאימות המותג ב-OAuth יושלם בהצלחה.
עיצוב מסך הסבר (מומלץ) לפני הפעלת ממשק המשתמש הרשמי לבקשת הסכמה מהמשתמש, צריך להסביר למשתמש שהוא צריך לבחור כרטיס SIM כדי לאחזר את המספר, ושהשיטה הזו מהירה ומאובטחת יותר מסיסמאות חד-פעמיות ב-SMS. כך נמנע בלבול ונלמד את המשתמשים על תהליך ה-Phone Number Verification החדש.
בדיקת התאימות של המכשיר ושל ספק הסלולר (מומלץ) כשמפעילים את האפליקציה, משתמשים ב-SDK של Firebase PNV כדי לבדוק שהמכשיר וספק הסלולר שלו תואמים ל-Firebase PNV. אם הוא תואם, מציגים את מסך ההסבר ומבקשים הסכמה. אם לא, משתמשים בשיטה הקודמת לאימות מספר הטלפון, כמו SMS.
בקשת מספר הטלפון המאומת משתמשים ב-Firebase PNV SDK כדי לשלוח לספק הסלולרי בקשה לקבלת מספר הטלפון המאומת של המכשיר. הפעולה הזו מפעילה את תהליך קבלת ההסכמה מהמשתמש, ומסך ההסבר עוזר למשתמש להשלים את התהליך.
אימות של אסימון התגובה בתגובה משירות Firebase PNV, מקבלים אסימון חתום שאפשר לשלוח אל ה-Backend של האפליקציה. בצד השרת, מאמתים את החתימה של הטוקן. אם החתימה תקפה, האסימון מכיל את מספר הטלפון המאומת של המכשיר.

השלבים הבאים

  • במדריך תחילת העבודה ב-Android מוסבר איך לבדוק את Firebase PNV באפליקציית Android באמצעות מצב בדיקה ללא כרטיס SIM.