מבוא ל-Admin Auth API

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

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

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

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

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

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

אימות זהות

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

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

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

תביעות משתמש מותאמות אישית

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

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

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

נהל משתמשים

יצירת אסימון מותאם אישית

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

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

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

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

אימות אסימון מזהה

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

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

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

תביעות משתמש מותאמות אישית

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

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

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