סקירה כללית – תהליכי אימות ב-Spotnana
תוכן העניינים
Spotnana מציעה מגוון שיטות אימות, המאפשרות לשותפים להתחבר בצורה מאובטחת למערכת שלנו. במסמך זה תמצאו סקירה של שיטות האימות הנתמכות כיום ב-Spotnana, לצד הסבר מפורט על אופן הפעולה של כל אחת מהן. תהליכי האימות המוצגים כאן מדגימים כיצד Spotnana מזהה ומאשרת גישה של משתמשים למשאבים מוגנים ברמת הארגון (כלומר, משאבים השייכים לארגון של המשתמש בפלטפורמת Spotnana).
רכיבים מרכזיים
לפני שמתחילים, מומלץ לעיין ברשימה זו כדי להכיר את הרכיבים המרכזיים במערכת, כפי שמוזכרים במסמך זה.
- ממשק משתמש Spotnana(Spotnana User Interface) הכוונה לממשק האינטרנטי של Spotnana (כלי ההזמנות המקוון) או לאפליקציה הסלולרית של Spotnana. בפרט, הכוונה לעמוד הכניסה, שממנו מתחיל תהליך האימות כאשר המשתמש נכנס או יוצר חשבון חדש.
- שרת Spotnana השרת האחורי של Spotnana, המשמש לצורכי אימות משתמשים (כגון אישור גישה למשאב, שמירה ועיבוד מאובטח של פרטי המשתמש).
- ממשק משתמש של השותף (Partner's User Interface) הממשק בו משתמשים השותפים כדי לגשת לפלטפורמת Spotnana (למשל, כאשר Spotnana משולבת בממשק השותף באמצעות iFrame – המשתמשים ייגשו ל-Spotnana דרך הממשק של השותף).
- שרת שותף שרתים אחוריים של השותפים, המשמשים אותם לצורך אינטגרציה עם Spotnana.
- Spotnana IdP (Spotnana Identity Provider) שירות פנימי של Spotnana, המשמש לניהול זהויות משתמשים ומתן הרשאות גישה.
- IdP של השותף ספקי זהות חיצוניים (IdP) בהם משתמשים השותפים, לדוג' Google ו-Azure.
- OBT כלי ההזמנות המקוון של Spotnana (OBT), הזמין בכתובת https://app.spotnana.com/
- אסימון מזהה (Subject token) באימות מבוסס iFrame (או החלפת אסימונים), אסימון זה מייצג את זהות המשתמש. באמצעותו מאתרים את פרטי המשתמש ומאשרים לו גישה לפלטפורמת Spotnana.
- אסימון גישה (Access token) אמצעי זיהוי (OAuth) שמאפשר לאפליקציית שותף לגשת למשאבים מוגנים בשם המשתמש. זהו מפתח הרשאה זמני, שמאפשר שליחת בקשות API בלי לחשוף את פרטי המשתמש.
- אסימון רענון (Refresh token) אמצעי זיהוי לטווח ארוך, המאפשר להנפיק אסימוני גישה חדשים מבלי לבקש מהמשתמש להתחבר מחדש. לרוב מונפק יחד עם אסימון הגישה בעת התחברות ראשונה.
- פרטי לקוח (Client credentials) המידע שנמסר למשתמשים המתחברים ישירות ל-API של Spotnana (למשל מזהה
clientId
ו-clientSecret
). - PID (מזהה אישי) מזהה אישי שנוצר עבור המשתמש. ה-PID משמש לשליפת פרטי המשתמש משרת Spotnana.
orgId
מזהה ייחודי שמוקצה על ידי Spotnana לארגון של המשתמש.tmcId
מזהה ייחודי שמוקצה על ידי Spotnana לחברת ניהול נסיעות (TMC).
שיטות אימות נתמכות
להלן שיטות האימות הנתמכות במערכת Spotnana:
- אימות מבוסס סיסמה
- אימות מבוסס IdP
- אימות מבוסס API
- אימות מבוסס iFrame
- אימות מבוסס קוד הרשאה
- אימות בין מכונות (M2M)
אימות מבוסס סיסמה
באימות מבוסס סיסמה, ממשק המשתמש של Spotnana (כלומר עמוד הכניסה או ההרשמה ב-OBT) יוזם ומנהל את תהליך האימות מול השרתים האחוריים של Spotnana. קיימים שני מסלולים עיקריים: התחברות עם פרופיל קיים, או יצירת פרופיל חדש. בהמשך תמצאו הסבר מפורט על כל אחד מהתהליכים, כולל תרשימי זרימה.
משתמש קיים
התרשים והשלבים הבאים מסבירים כיצד ממשק המשתמש של Spotnana מתקשר עם השירותים האחוריים כדי לאמת משתמש קיים.
איור: תרשים זרימה של תהליך האימות מבוסס הסיסמה עבור משתמשים קיימים.
שלב | מהלך התהליך |
---|---|
משתמש קיים מתחבר דרך OBT או אפליקציית Spotnana באמצעות כתובת האימייל שלו. | |
1 |
|
2 |
|
3 |
|
משתמש חדש
התרשים והשלבים הבאים מסבירים כיצד ממשק המשתמש של Spotnana מתקשר עם השירותים האחוריים כדי לאמת משתמש חדש (או משתמש קיים שמבצע איפוס סיסמה).
איור: תרשים זרימה של תהליך האימות מבוסס הסיסמה עבור משתמשים חדשים.
שלב | מהלך התהליך |
---|---|
משתמש חדש מזין את כתובת האימייל שלו בעמוד הכניסה של OBT ולוחץ על הבא. | |
1 |
|
1 א' | המשתמש מזין סיסמה חדשה ולוחץ על הבא. |
2 |
|
3 |
|
4 |
|
אימות מבוסס IdP
Spotnana תומכת באימות דרך ספקי זהות חיצוניים (IdP) כגון Google, Azure וספקים בהתאמה אישית באמצעות OpenID Connect ופרוטוקולי SAML. התרשים והשלבים הבאים מסבירים את תהליך האימות מבוסס IdP.
איור: תרשים זרימה של תהליך האימות מבוסס IdP.
שלב | מהלך התהליך |
---|---|
משתמש מתחבר דרך OBT או אפליקציית Spotnana באמצעות כתובת האימייל שלו. | |
1 |
|
2 | ממשק המשתמש של Spotnana מפנה את הבקשה ל-IdP של Spotnana. |
3 | IdP של Spotnana מפנה את הבקשה ל-IdP של השותף. בכך מתחיל תהליך האימות אצל ספק הזהות של השותף. הערה: בכל הפניה (Redirect) מוחזר קוד סטטוס 302, שמעיד על הפניה לכתובת URL שונה. |
4 | נוצרה תקשורת בין IdP של Spotnana ל-IdP של השותף, כדי לוודא שהמשתמש אומת אצל ספק הזהות של השותף. הערה: במהלך תקשורת זו, IdP של Spotnana שולח את |
5 | IdP של השותף מאמת בהצלחה את המשתמש. הערה: לאחר שלב זה, יש לבצע אימות נוסף של פרופיל המשתמש באמצעות אסימון Bearer. |
5 א' | לאחר האימות, התגובה מ-IdP של השותף נשלחת ל-IdP של Spotnana. |
5 ב' | IdP של Spotnana מנפיק קוד ייחודי לפרופיל המשתמש ושולח אותו לממשק המשתמש של Spotnana. |
6 |
הערה: הנפקת אסימון Bearer בהצלחה מעידה שהמשתמש אומת ויכול לגשת ל-Spotnana. |
7 |
|
אימות מבוסס API
שותפים המתחברים ל-Spotnana דרך ה-API יכולים להשתמש בנקודת הקצה הייעודית להנפקת אסימון Bearer עבור המשתמשים שלהם. התרשים הבא מציג את מהלך תהליך האימות בשיטה זו.
איור: תרשים זרימה של תהליך האימות מבוסס API.
שלב | מהלך התהליך |
---|---|
1 | משתמש ה-API שולח בקשת POST לנקודת הקצה להלן דוגמה לבקשת cUrl שניתן להשתמש בה מול נקודת הקצה curl -i -X POST \ https://api.spotnana.com/get-auth-token \ -H 'Content-Type: application/json' \ -d '{ "clientId": "sample-apiuser@tmcorg.com", "clientSecret": "<password>" }' הערה: יש להחליף את ערכי |
2 |
|
לאחר קבלת האסימון, כל הבקשות ל-API של Spotnana (למשל Trip APIs) חייבות לכלול את אסימון ה-Bearer בכותרת לצורכי הרשאה.
הערה: נקודת הקצה get-auth-token(clientId, clientSecret)
מוגבלת ל-100 קריאות API לכל 5 דקות.
אימות מבוסס iFrame
iFrame או פתרון מוטמע מאפשר לשותפים לשלב את ממשק Spotnana בתוך ממשק המשתמש שלהם, כך שהמשתמשים ניגשים ל-Spotnana דרך הממשק של השותף. במצב זה, האימות מבוצע באמצעות החלפת אסימונים בין המערכות של השותף ל-Spotnana.
הערה: באימות מבוסס iFrame, המשתמש שמבצע את הכניסה יכונה caller. זאת כדי לאפשר תרחישים בהם משתמש API/מכונה מבצע כניסה ומבקש אסימון עבור משתמש אחר. משתמש זה יכול להשתמש בפרטי מנהל TMC כדי להתחבר ישירות לשרת Spotnana. לכן, נשתמש במונח caller כמונח כללי, שיכול להתייחס למשתמש שנכנס לפרופיל שלו או למשתמש API/מכונה שמבקש אסימון עבור משתמש אחר.
התרשים הבא מדגים כיצד מתבצע תהליך האימות באמצעות החלפת אסימונים בין Spotnana לשרתי השותף.
איור: תרשים זרימה של תהליך האימות מבוסס iFrame באמצעות החלפת אסימונים.
שלב | מהלך התהליך |
---|---|
ה-caller נכנס דרך ממשק המשתמש של השותף. | |
1 | ממשק המשתמש של השותף מציג את ממשק Spotnana בתוך iFrame. |
2 | ממשק Spotnana שולח בקשה לממשק השותף (Post Message) לקבלת אסימונים, עם type=TOKEN_EXCHANGE_REQUEST . |
3 | ממשק השותף שולח בקשת API לשרת השותף כדי לקבל אסימון OAuth, וכך מתחיל רצף שלבים נוסף בתהליך האימות. |
3 א' | שרת השותף פונה לשרת Spotnana עם פרטי המשתמש ואסימון הנושא (subject token). שרת Spotnana בודק אם הבקשה התקבלה ממשתמש API/מכונה. |
3 ב' |
|
3 ג' |
|
4 | ממשק המשתמש של השותף שולח את האסימון לממשק Spotnana באמצעות Post Message עם |
5 |
הערה: הנפקת אסימון Bearer בהצלחה מעידה שהמשתמש אומת ויכול לגשת ל-Spotnana. |
6 |
|
אימות מבוסס קוד הרשאה
התרשים הבא מדגים כיצד מתבצע תהליך האימות באמצעות קוד הרשאה.
איור: תרשים זרימה של תהליך האימות מבוסס קוד הרשאה.
שלב | מהלך התהליך |
---|---|
1 | ממשק המשתמש של השותף פונה לשרת השותף כדי לקבל קוד הרשאה עבור ה-caller. הקוד נשלח חזרה לממשק המשתמש של השותף. |
2 | ממשק המשתמש של השותף שולח בקשה לממשק Spotnana באמצעות כתובת הפניה ייעודית, הכוללת את |
3 | ממשק Spotnana מבצע קריאת POST ל-API של שרת Spotnana בכתובת |
3 א' |
|
3 ב' | שרת Spotnana מנפיק את אסימון הגישה ואסימון הרענון, ושולח אותם לממשק Spotnana. |
4 |
הערה: הנפקת אסימון Bearer בהצלחה מעידה שהמשתמש אומת ויכול לגשת ל-Spotnana. |
5 |
|
הערה: תהליך אימות זה לא מתאים למצבים בהם מנהל TMC מאפשר ליותר ממשתמש אחד להתחבר עם אותה כתובת אימייל.
אימות בין מכונות (M2M)
שיטת M2M מתאימה כאשר תהליך האימות כולל אפליקציה שמבצעת קריאה לכתובת Callback של צד שלישי כדי להנפיק עבור המשתמש accessToken
. התרשים הבא מציג את מהלך האימות בשיטה זו.
איור: תרשים זרימה של תהליך האימות בין מכונות (M2M).
שלב | מהלך התהליך |
---|---|
המפתחות הציבוריים של כל האפליקציות המשתתפות בתהליך האימות מסונכרנים בין שרת Spotnana ל-IdP של Spotnana. מפתחות אלו ישמשו לאימות אסימון הגישה בהמשך. | |
1 | שרת השותף שולח בקשת API אל |
2 |
|
3 |
|
האם מאמר זה היה מועיל?
נהדר!
תודה על המשוב
מצטערים! לא יכולנו לעזור
תודה על המשוב
המשוב נשלח
אנו מעריכים את המאמץ שלכם וננסה לתקן את המאמר