מבוא ל-Admin Auth API

Firebase Admin SDK מאפשר לכם לשלב שרתים משלכם עם Firebase Authentication. אפשר להשתמש ב-Firebase Admin SDK כדי לנהל את המשתמשים או כדי לנהל אסימוני אימות. יכולות להיות כמה סיבות לכך עושים זאת:

ניהול משתמשים

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

אימות מותאם אישית

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

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

אימות זהות (IDV)

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

כדי לעשות זאת, אפשר לאחזר אסימון מזהה מלקוח האפליקציה נכנסה באמצעות Firebase Authentication וכוללת את האסימון בבקשה השרת. לאחר מכן השרת מאמת את האסימון המזהה ומחלץ את ההצהרות לזהות את המשתמש (כולל uid, ספק הזהויות שאליו הוא מחובר) עם וכדומה). לאחר מכן השרת יכול להשתמש בפרטי הזהות האלה פעולות בשם המשתמש.

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

הצהרות משתמש בהתאמה אישית

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

ניהול המשתמשים

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

ניהול משתמשים

יצירת אסימון בהתאמה אישית

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

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

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

יצירת אסימונים בהתאמה אישית

אימות באמצעות אסימון מזהה

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

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

אימות אסימונים מזהים

תלונות מותאמות אישית של משתמשים

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

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

שליטה בגישה באמצעות תלונות מותאמות אישית