התאמה אישית של תהליך האימות באמצעות פונקציות אסינכרוניות

במאמר הזה נסביר איך להרחיב את האימות ב-Identity Platform באמצעות פונקציות אסינכרוניות של Cloud Run.

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

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

לפני שמתחילים

יוצרים אפליקציה באמצעות Identity Platform. במדריך למתחילים מוסבר איך עושים את זה.

יצירת פונקציה אסינכרונית

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

מענה ליצירת משתמש

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

בדוגמה הבאה אפשר לראות איך רושמים handler ל-onCreate:

Node.js

exports.myFunction = functions.auth.user().onCreate((user) => {
  // TODO.
});

תגובה למחיקת משתמש

האירוע onDelete מופעל בכל פעם שחשבון משתמש נמחק. בדוגמה הבאה אפשר לראות איך רושמים handler ל-onDelete:

Node.js

exports.myFunction = functions.auth.user().onDelete((user) => {
  // TODO.
});

קבלת פרטי משתמשים

האירועים onCreate ו-onDelete מספקים אובייקטים מסוג User ו-EventContext שמכילים מידע על המשתמש שנוצר או נמחק. לדוגמה:

Node.js

exports.myFunction = functions.auth.user().onCreate((user, context) => {
  const email = user.email; // The email of the user.
  const displayName = user.displayName; // The display name of the user.
});

רשימה של השדות הזמינים מופיעה בUserRecord הפניית API וב-EventContext הפניית API.

המאמרים הבאים