אישור וביטול של אסימוני גישה

מוצג המסמך של Apigee Edge.
עוברים אל מסמכי תיעוד של Apigee X.
מידע

ביטול אסימוני גישה ורענון

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

הליך ביטול האסימון מוגדר על ידי מפרט OAuth 2.0 ביטול אסימונים.

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

זו דוגמה להגדרה של מדיניות OAuthV2 והפעולה של InvalidateToken. לחשבון במקרה כזה, אסימון הגישה וגם אסימון הרענון המשויך אליו יבוטלו. מבחינה טכנית, ושניהם מבוטלים מכיוון שדגל ההדרגה מוגדר כ-true. לקבלת מידע נוסף על האופן שבו פעולות דגל מדורגות – עיינו בקטע המאפיינים של רכיב האסימון בהמשך.

<OAuthV2 name="InvalidateToken">
  <Operation>InvalidateToken</Operation>
  <Tokens>
    <Token type="accesstoken" cascade="true">flow.variable</Token>
  </Tokens>
</OAuthV2>

&lt;Tokens&gt;/&lt;Token&gt; רכיב

מזהה את משתנה הזרימה שמציין את האסימון לביטול. אם מפתחים צפויה לשלוח בקשת ביטול באמצעות פרמטר של שאילתה בשם access_token, לדוגמה, משתנה הזרימה הנכון להיות: request.queryparam.access_token. כדי לדרוש את האסימון בכותרת HTTP, לדוגמה, מגדירים את הערך הזה ל-request.header.access_token.

מאפיינים

  • type (חובה, מחרוזת): סוג האסימון שזוהה על ידי המשתנה שצוין. הערכים הנתמכים accesstoken ו-refreshtoken:
    • כדי לבטל אסימון גישה, צריך לציין את סוג אסימון הגישה.
    • כדי לבטל את אסימוני הגישה וגם את אסימוני הרענון, צריך לציין את סוג אסימון הרענון. כשהוא רואה סוג רענון, Edge מניח שהאסימון הוא אסימון רענון. אם אסימון הרענון הזה למצוא אותו, הוא מבוטל. אם אסימון הרענון לא נמצא, Edge בודק את לראות אם זה אסימון גישה. אם אסימון הגישה קיים, הוא מבוטל.

      הערה: אם אתם מעבירים אסימון שכבר לא תקף ל-BardateToken המדיניות לא תחזיר שגיאה, למרות שציפית לקבל אותה. כזו לפעולה אין השפעה.
  • cascade (אופציונלי, בוליאני, ברירת מחדל: true) השימוש העיקרי בפונקציה הזו היא לבטל אסימון רענון מבלי לבטל את אסימון הגישה המשויך אליו. נקודות שכדאי להעלות במקרים הבאים:
    • ביטול של אסימון הרענון בלבד ולא ביטול של אסימון הגישה שמשויך אליו. כדי לעשות את זה, מגדירים את <Token> מקלידים ל-refreshtoken ומגדירים את הדירוג של false.
    • מבטלים את אסימון הגישה ואת אסימון הרענון. כדי לעשות זאת, מגדירים את <Token> מקלידים accesstoken. ערך המדורג יכול להיות true ברירת המחדל) או false. אם מגדירים אותה ל-true, אז גם הגישה האסימון ואסימון הרענון מבוטלים. אם מגדירים אותה ל-false, הגישה האסימון מבוטל ולא ניתן להשתמש באסימון הרענון. מידע נוסף זמין בהערה שבהמשך הסברנו.
    • ביטול אסימון הגישה ולא ביטול אסימון הרענון שמשויך אליו. לא נתמך. הסבר נוסף מפורט בהערה שבהמשך.

הערה: מטעמי אבטחה, אם אתם מבטלים אסימון הגישה, אסימון הרענון המשויך יבוטל גם הוא. לכן לא ניתן להשתמש מאפיין הסיווג כדי לבטל רק אסימון גישה. לדוגמה, אם מגדירים את האסימון <Token> מקלידים את הערך accesstoken ומגדירים את cascade=false, אסימון הגישה בוטל (כפי שמצופה); עם זאת, לא ניתן להשתמש באסימון הרענון המשויך. לא ניתן להשתמש בה לרענון אסימון הגישה שבוטל. התרחיש לדוגמה העיקרי של מאפיין הדירוג הוא כאשר רוצים רק לבטל אסימון רענון. במקרה כזה, מגדירים את <Token> מקלידים בrefreshtoken, ומגדירים את cascade=false. אסימון הרענון יבוטל, אבל הגישה המשויכת אליו האסימון יישאר בתוקף (עד שהתוקף שלו יפוג או עד שיבוטל). מידע נוסף זמין במאמר דיון בפורום הקהילה.

אישור אסימוני גישה ורענון

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

<OAuthV2 name="ValidateToken">
  <Operation>ValidateToken</Operation>
  <Tokens>
    <Token type="refreshtoken" cascade="true">flow.variable</Token>
  </Tokens>
</OAuthV2>

&lt;Tokens&gt;/&lt;Token&gt; רכיב

מזהה את משתנה הזרימה שמציין את האסימון שיש לאמת. אם מפתחים צפויה לשלוח בקשת אימות באמצעות פרמטר של שאילתה בשם access_token, לדוגמה, משתנה הזרימה הנכון להיות: request.queryparam.access_token. כדי לדרוש את האסימון בכותרת HTTP, לדוגמה, מגדירים את הערך הזה ל-request.header.access_token.

מאפיינים

  • type (חובה, מחרוזת) סוג האסימון שזוהה על ידי המשתנה שצוין. הערכים הנתמכים accesstoken ו-refreshtoken.
  • cascade (אופציונלי, בוליאני): כברירת מחדל, האפשרות הזו מוגדרת בתור true, וגורם לאימות לעבור לאסימונים המשויכים. כך שאם מחילים לאסימון רענון, אסימון הגישה המשויך אליו מאומת גם הוא. אם הוחלה על גישה אסימון הרענון המשויך אליו מאומת. אם מגדירים את הערך false, רק אסימון הגישה או הרענון שצוינו יאומת.