ניהול IAP באמצעות סשנים של איחוד שירותי אימות הזהות של כוח עבודה

בדף הזה מוסבר איך לנהל סשנים של שרת proxy לאימות זהויות (IAP) עם איחוד שירותי אימות הזהות של כוח העבודה.

כשמגדירים מאגר של כוח עבודה, אפשר לציין את משך הסשן בין Google Cloud לבין IdP. אפשר להגדיר את משך הסשן בין 15 דקות ל-12 שעות. ההגדרה הזו קובעת גם את משך הזמן של קובץ ה-Cookie הזמני של IAP. משך הסשן שמוגדר כברירת מחדל הוא שעה אחת.

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

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

יצירת סשן באמצעות בקשת AJAX

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

‫IAP מסתמך על קובצי Cookie כדי לנהל סשנים של משתמשים ורצף של הפניות אוטומטיות כדי ליצור סשן במהלך הכניסה. אם האפליקציה שלכם משתמשת בשיתוף משאבים בין מקורות (CORS) כדי לשלוח בקשות AJAX מדומיין מקור לדומיין יעד שמארח אפליקציה שמוגנת באמצעות IAP, קודם צריך ליצור סשן IAP בדומיין היעד מחוץ לפס. אי אפשר לשתף קובצי Cookie בין דומיין המקור לדומיין היעד.

אחרי שנוצר סשן בדומיין היעד, מגדירים את הבקשות כך שיכללו פרטי כניסה, כי שיטות JavaScript לא מצרפות קובצי Cookie כברירת מחדל:

  • באובייקטים מסוג XMLHttpRequest, מגדירים את המאפיין withCredentials לערך true.
  • בFetch API, מגדירים את האפשרות credentials לערך include או same-origin.

בבקשות AJAX שפג תוקפן או שלא אומתו, IAP מחזיר קוד סטטוס HTTP‏ 401: Unauthorized. אם בקשות ה-AJAX מקבלות קוד סטטוס 302 במקום 401, צריך להוסיף כותרת X-Requested-With עם הערך "XMLHttpRequest" כדי לציין שהבקשה מגיעה מ-JavaScript. כדי ליצור או לרענן את הסשן אחרי קבלת תגובת HTTP 401, פותחים חלון חדש לכתובת ה-URL של דומיין היעד עם הצירוף ?gcp-iap-mode=DO_SESSION_REFRESH.

מידע נוסף ודוגמאות קוד זמינים במאמר בקשות AJAX.