מבוא ל-Admin Auth API
פלטפורמת Identity Platform מבוססת על תשתית משופרת שתומכת באימות של משתמשים באפליקציות ובשירותים שלכם. אתם יכולים להשתמש ב-SDK של Firebase לאדמינים כדי לשלב את השרתים שלכם עם Identity Platform ולנהל את המשתמשים או את טוקני האימות. יש כמה סיבות למה כדאי לעשות את זה:
ניהול משתמשים
לא תמיד נוח להיכנס לGoogle Cloud מסוף (Google Cloud מסוף) כדי לנהל את המשתמשים ב-Identity Platform. ה-API לניהול משתמשים באדמין מספק גישה פרוגרמטית לאותם משתמשים. הכלי מאפשר לכם לבצע פעולות שאי אפשר לבצע דרך מסוףGoogle Cloud , כמו אחזור של נתונים מלאים של משתמש ושינוי של הסיסמה, כתובת האימייל או מספר הטלפון של משתמש.
אימות מותאם אישית
אפשר לשלב מערכת משתמשים חיצונית עם Identity Platform. לדוגמה, יכול להיות שכבר יש לכם מסד נתונים קיים של משתמשים, או שאתם רוצים לבצע שילוב עם ספק זהויות של צד שלישי ש-Identity Platform לא תומך בו באופן מובנה.
כדי לעשות את זה, אפשר ליצור אסימונים בהתאמה אישית עם הצהרות שרירותיות שמזהות את המשתמש. אחר כך אפשר להשתמש באסימונים המותאמים אישית כדי להיכנס לשירות Identity Platform באפליקציית לקוח, ולהניח את הזהות שמתוארת בהצהרות של האסימון. הזהות הזו תשמש אחר כך כשניגשים לשירותים אחרים של Identity Platform, כמו Cloud Storage.
אימות זהות
השימוש העיקרי ב-Identity Platform הוא לזיהוי משתמשים באפליקציה שלכם כדי להגביל את הגישה לשירותים אחרים, כמו Cloud Storage. אפשר גם להשתמש בשירות כדי לזהות את המשתמשים האלה בשרת שלכם. כך תוכלו לבצע בצורה מאובטחת לוגיקה בצד השרת בשם משתמשים שנכנסו באמצעות Identity Platform.
כדי לעשות את זה, אפשר לאחזר אסימון מזהה מאפליקציית לקוח שמחוברת ל-Identity Platform ולכלול את האסימון בבקשה לשרת. השרת מאמת את טוקן הזהות ומחלץ את הטענות שמזהות את המשתמש (כולל uid, ספק הזהויות שאיתו הוא התחבר וכו'). השרת יכול להשתמש בפרטי הזהות האלה כדי לבצע פעולות בשם המשתמש.
ה-SDK של Firebase לאדמינים מספק שיטות לביצוע משימות האימות שצוינו למעלה. הוא מאפשר לכם לנהל את המשתמשים, ליצור טוקנים בהתאמה אישית ולאמת טוקנים של מזהים.
טענות מותאמות אישית לגבי משתמשים
במקרים מסוימים, יכול להיות שתרצו להטמיע בקרת גישה מדויקת למשתמשים שכבר מחוברים לאחד מספקי האימות הנתמכים של Identity Platform, כמו אימייל/סיסמה, Google, פייסבוק, טלפון וכו'. שילוב של טענות מותאמות אישית לגבי משתמשים וכללי אבטחה של אפליקציות מספק את היכולת הזו. לדוגמה, למשתמש שנכנס לחשבון באמצעות ספק האימייל והסיסמה של Identity Platform יכולה להיות בקרת גישה שמוגדרת באמצעות טענות מותאמות אישית.
ניהול משתמשים
SDK של Firebase לאדמינים מספק API לניהול משתמשי Identity Platform עם הרשאות מורחבות. ה-API לניהול משתמשים לאדמינים מאפשר לכם לאחזר, ליצור, לעדכן ולמחוק משתמשים באופן פרוגרמטי, בלי לדרוש את פרטי הכניסה הקיימים של המשתמשים ובלי לדאוג להגבלת קצב הבקשות בצד הלקוח.
ניהול משתמשיםיצירת טוקן מותאם אישית
השימוש העיקרי ביצירת טוקנים בהתאמה אישית הוא לאפשר למשתמשים לבצע אימות מול מנגנון אימות חיצוני או מדור קודם. יכול להיות שזה שרת LDAP שבשליטתכם, או ספק OAuth של צד שלישי ש-Identity Platform לא תומך בו באופן מובנה, כמו אינסטגרם או לינקדאין.
ל-SDK של Firebase לאדמינים יש שיטה מובנית ליצירת טוקנים בהתאמה אישית. אפשר גם ליצור אסימונים בהתאמה אישית באופן פרוגרמטי בכל שפה באמצעות ספריות JWT של צד שלישי.
השרת צריך ליצור אסימון בהתאמה אישית עם מזהה ייחודי (uid) ולהעביר את האסימון הזה לאפליקציית לקוח, שתשתמש בו כדי להיכנס ל-Identity Platform. במאמר יצירת טוקנים בהתאמה אישית מופיעים דוגמאות לקוד ופרטים נוספים על תהליך יצירת הטוקנים בהתאמה אישית.
אימות של אסימון מזהה
אם אפליקציית הלקוח שלכם ב-Identity Platform מתקשרת עם שרת הבק-אנד, יכול להיות שתצטרכו לזהות את המשתמש שמחובר כרגע בשרת כדי שתוכלו לבצע לוגיקה בצד השרת בשמו. אפשר לעשות את זה בצורה מאובטחת באמצעות אסימונים מזהים, שנוצרים על ידי Identity Platform כשמשתמש מתחבר לאפליקציית Identity Platform. האסימונים המזהים תואמים למפרט OpenID Connect ומכילים נתונים לזיהוי משתמש, וגם מידע אחר שקשור לפרופיל ולאימות. אתם יכולים לשלוח, לאמת ולבדוק את האסימונים האלה מהקצה העורפי שלכם. האפשרות הזו מאפשרת לכם לזהות בצורה מאובטחת את המשתמש שמחובר כרגע ולתת לו הרשאה לגשת למשאבי ה-Backend שלכם.
ל-SDK של Firebase לאדמינים יש שיטה מובנית לאימות של טוקנים של מזהים. אפשר גם לאמת אסימוני מזהה באופן פרוגרמטי בכל שפה באמצעות ספריות JWT של צד שלישי. פרטים נוספים ודוגמאות קוד על תהליך אימות האסימון מזהה זמינים במאמר בנושא אימות אסימונים מזהים.
טענות משתמש בהתאמה אישית
ה-SDK של Firebase לאדמינים מאפשר להגדיר מאפיינים בהתאמה אישית בחשבונות משתמשים. באמצעות טענות משתמש בהתאמה אישית, אתם יכולים לתת למשתמשים רמות גישה שונות (תפקידים), שנאכפות בכללי האבטחה של האפליקציה.
אחרי שמשנים הצהרות בהתאמה אישית של משתמש באמצעות SDK של Firebase לאדמינים, ההצהרות מועברות למשתמשים מאומתים בצד הלקוח באמצעות אסימוני המזהים שלהם. אסימון הזהות הוא מנגנון מהימן להעברת הטענות המותאמות אישית האלה, וכל גישה מאומתת חייבת לאמת את אסימון הזהות לפני עיבוד הבקשה המשויכת.
שליטה בגישה באמצעות טענות בהתאמה אישית