משאבים · 43

OAuth ו-OpenID Connect: לאמת אינטגרציה מקצה לקצה

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

מעודכן · 3 min

מה מדריך זה עוזר להשיג

  • הפרדת זהות מהרשאה
  • דחיית הפניות וטוקנים לא מכוונים
  • בדיקת דחיות בקפידה כמו הצלחות
  • אימות הסרת גישה לאחר יציאה או תקרית

בדיקה מהירה

  • איזה ספק ומנפיק צפויים?
  • האם URI ההפניה רשום במדויק?
  • האם אסימון זיהוי משמש בטעות כאסימון גישה?
  • האם כל משאב בודק בעלות?
  • איזו גישה שורדת את הביטול?

שיטה שלב אחר שלב

  1. 1

    שרטוט הזרימה שנפרסה

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

    תוצר: זרימה, גבולות אמון ובעלי רכיבים.

  2. 2

    בדיקת טרנזקציית הכניסה.

    שימוש בזרימת הקוד עם PKCE המתאים ללקוח. בדיקת S256, קשירת טרנזקציות, הפניות רשומות והגנה מפני בקשות מזויפות. בדיקת URI בלתי צפוי, מאמת שגוי, קוד שהופעל מחדש ומנפיק בלתי צפוי. RFC 9700 מפריד דרישות והמלצות לפי סוג לקוח.

    תוצר: תוצאות בדיקה מותרות ונדחות.

  3. 3

    אימות הטוקן הנכון.

    ה-API מאמת את טוקן הגישה שלו בהתאם לפורמט ולכללי הספק: חתימה או התבוננות פנימית, מנפיק, קהל, תפוגה והרשאות. לקוח OIDC מאמת בנפרד את טוקן הזהות. חתימה תקפה אינה קובעת שהטוקן שייך ל-API זה.

    תוצר: אימות חוזה ובדיקות קהל ופג תוקף.

  4. 4

    בדיקת הרשאות עסקיות

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

    תוצר: תפקיד, אובייקט, פעולה ומטריצת דחייה צפויה.

  5. 5

    תפוגת מועד וביטול של תרגילים

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

    תוצר: ציר זמן להסרת גישה וחריגים.

  6. 6

    מעקב ללא חשיפת סודות

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

    תוצר: בדיקות נוהל הפעלה ורגרסיה.

דוגמה בדיונית

סיטואציה להמחשה

סיטואציה לדוגמה: שני לקוחות משתמשים בספק זהויות אחד. אסימון תקף עבור הראשון מוצג ל-API של הלקוח השני.

החלטה וראיות צפויות

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

הבחנה בין המנגנונים

מנגנוןמטרהאימות או הגבלה
OAuth 2.0האצלת גישת משאביםהרשאות אובייקט בצד השרת
OpenID Connectקביעת זהות באמצעות אסימון זיהוי מאומתאימות מנפיק, קהל ועסקאות
סשן יישוםשמירה על כניסה ליישוםהגנה מפני תפוגה, ביטול והפעלה

מדדי ניהול

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

טעויות נפוצות

  • בלבול בין אימות להרשאה
  • קבלת כל קהל לאחר בדיקת החתימה
  • רישום URI רחב להפניה מחדש
  • רישום אסימונים לנוחות קלה יותר ניפוי שגיאות

שאלות נפוצות

האם PKCE מחליף כל פקד?

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

האם JWT הוא הרשאה?

JWT הוא פורמט. תביעות הופכות לשימושיות רק לאחר אימות ויישום של כללי ה-API שלך.

האם יש לבנות אימות מאפס?

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

הפניות רשמיות

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