TypeScript - Angular, איך לקבל את טוקן ה-JWT משרת אימות חיצוני


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

אם המשתמש לא מביא את הטוקן יחד token === null, המערכת שלי תנתב את המשתמש לדף ההתחברות של שרת זיהוי חיצוני (identity server). ברגע שהמשתמש מתחבר בהצלחה לשרת הזיהוי, שרת הזיהוי ישלח את טוקן ה-JWT חזרה למערכת שלי.

השאלה שלי היא, איך שרת הזהות ישלח את הטוקן בחזרה למערכת שלי ואיך המערכת שלי תקבל אותו?

לכל מדריך ושאלה שמצאתי כשחיפשתי בגוגל, הם משתמשים בקריאה ל-API כדי לבצע את האימות. הם אף פעם לא מפנים את המשתמש לשרת זהות חיצוני אחר כדי לבצע את האימות.

זרימת הפרויקט והבעיה

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

תשובה #1

השאלה שלי היא, איך שרת הזהות ישלח את הטוקן בחזרה למערכת שלי ואיך המערכת שלי תקבל אותו?

נשמע שזה תלוי בשירות האימות של צד שלישי, אבל בדרך כלל ניתן להגדיר את שירות האימות עם כתובת URL של קריאה חזרה אליו ינותב המשתמש לאחר אימות מוצלח. בנוסף, שירות האימות עשוי לשלוח פרטי אימות (כגון טוקן אימות) יחד עם הפניה לכתובת ה-URL של הקריאה חזרה. בתרחיש זה תגדיר את האפליקציה שלך לקבלת פרטי אימות בכתובת URL זו בהתאם.

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