אימות מספר הטלפון ב-Firebase
Firebase Phone Number Verification (Firebase PNV) היא שיטה מהירה ומאובטחת יותר לאימות מספרי טלפון. בניגוד לאימות שמבוסס על SMS, שבו המשתמשים צריכים לקבל ולהזין קוד מהודעת טקסט, Firebase PNV פועל באמצעות קבלת מספר הטלפון שמוקצה לכרטיס ה-SIM במכשיר ישירות מהספק המחובר, בהקשה אחת. כך המשתמשים נהנים מחוויה חלקה יותר, האמינות משתפרת כי אין תלות בשליחת הודעות SMS, ואין אפשרות לנצל לרעה את וקטורי ההתקפה הנפוצים ב-SMS.
יכולות מרכזיות
| חברות התובלה הן מקור המידע האמין | באמצעות Firebase PNV, Google מקבלת את מספר הטלפון המאומת של כרטיס ה-SIM ישירות מהספק, ומציגה לכם את המספר שמוגדר במכשיר שבו האפליקציה פועלת כרגע. סיסמאות חד-פעמיות ב-SMS יכולות רק להראות אם למשתמש יש גישה למספר הטלפון. |
| שימוש עצמאי או עם ספק זהויות | אפשר להשתמש ב-Firebase PNV בפני עצמו כשיטה אמינה וקלה לשילוב לאימות מספר טלפון, או כשיטת כניסה עם Firebase Authentication או עם מערכת אימות משלכם. |
| שימוש אוטומטי בחברות תובלה זמינות | אפשר להשתמש ב-SDK Firebase PNV כדי לזהות תאימות ולחזור לשיטה אחרת, כמו SMS, אם Firebase PNV עדיין לא נתמך במכשיר. התכונה Firebase PNV תהיה זמינה בהדרגה לחברות תעופה ברחבי העולם. כשספקי סלולר חדשים יהיו זמינים, תוכלו להשתמש בהם באופן אוטומטי בלי לבצע שינויים נוספים באפליקציה. ברשימת הספקים הנתמכים מפורטים הספקים המשתתפים. |
| איך מונעים התקפות פישינג באמצעות SMS | מכיוון ש-Firebase PNV לא שולחת הודעות SMS כדי לאמת מספר טלפון, המשתמשים לא יכולים להיות קורבנות של פישינג כדי לקבל קודי סיסמה חד-פעמיים, שבהם אפשר להשתמש בהתקפות של השתלטות על חשבונות. |
איך זה עובד?
כששולחים בקשה לאימות מספר טלפון, Firebase PNV:
בודקת אם המכשיר של המשתמש וספק הסלולר שלו נתמכים.
מקבלת הסכמה מהמשתמש לשתף את מספר הטלפון שלו עם האפליקציה.
האימות מתבצע מול ספק הסלולר שמשויך לכרטיס ה-SIM כדי לקבל את מספר הטלפון המאומת.
האפליקציה מקבלת טוקן חתום שמכיל את מספר הטלפון המאומת, בדרך כלל תוך 1-3 שניות מרגע הסכמה מהמשתמש.
אחרי אימות החתימה של הטוקן, לאפליקציה יש את מספר הטלפון המאומת של המשתמש. אפשר גם להשתמש בטוקן הזה כחלק מתהליך כניסה שמבוסס על מספר טלפון, למשל באמצעות Firebase Authentication או קצה עורפי משלכם לאימות.
שיטת הטמעה
| הגדרת פרויקט Firebase | במסוף Firebase, משלימים את שלבי ההגדרה כדי להפעיל את החיוב ואת ה-API של Firebase Phone Number Verification בפרויקט ב-Firebase. | |
| מתקינים את ה-SDK ומפעילים אותו | מתקינים את ה-SDK של Firebase PNV בפלטפורמה של האפליקציה. ה-SDK מחייב השלמה מוצלחת של אימות המותג ב-OAuth. | |
| עיצוב מסך הסבר | (מומלץ) לפני שמפעילים את ממשק המשתמש הרשמי לבקשת הסכמה מהמשתמשים, צריך להסביר להם שהם צריכים לבחור כרטיס SIM כדי לאחזר את המספר, ושהשיטה הזו מהירה ומאובטחת יותר מסיסמאות חד-פעמיות ב-SMS. כך תמנעו בלבול ותלמדו את המשתמשים איך להשתמש בתהליך החדש לאימות מספר הטלפון. | |
| בדיקת התאימות של המכשיר וספק הסלולר | (מומלץ) כשהאפליקציה מופעלת, משתמשים ב-SDK של Firebase PNV כדי לבדוק אם המכשיר וספק הסלולר שלו תואמים ל-Firebase PNV. אם הוא תואם, מציגים את מסך ההסבר ומבקשים הסכמה. אם לא, צריך להשתמש בשיטה הקודמת לאימות מספר הטלפון, כמו SMS. | |
| בקשה של מספר הטלפון המאומת | משתמשים ב-SDK של Firebase PNV כדי לבקש מספק הסלולר את מספר הטלפון המאומת של המכשיר. הפעולה הזו מפעילה את בקשת ההסכמה מהמשתמש, ומסך ההסבר עוזר להכין את המשתמש להשלמת הפעולה. | |
| אימות טוקן התשובה | בתגובה מהשירות Firebase PNV, אתם מקבלים אסימון חתום שאפשר לשלוח לקצה העורפי של האפליקציה. ב-backend, מאמתים את החתימה של האסימון. אם החתימה תקינה, האסימון מכיל את מספר הטלפון המאומת של המכשיר. |
השלבים הבאים
- במדריך תחילת העבודה ב-Android מוסבר איך לבדוק את Firebase PNV באפליקציה ל-Android באמצעות מצב בדיקה ללא כרטיס SIM.
- נסו את Codelab, שמסביר שלב אחר שלב איך לשלב את Firebase PNV באפליקציה ל-Android.