Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

מבוא ל-Admin Auth API

קל לארגן דפים בעזרת אוספים אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.

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

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

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

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