נושאים מתקדמים של OAuth 2.0

אתם צופים במסמכי העזרה של Apigee Edge.
כניסה למסמכי העזרה של Apigee X.
info

שימוש בטוקני OAuth של צד שלישי

שימוש באסימוני OAuth של צד שלישי

הקצאה של כמה כתובות URL לקריאה חוזרת (callback)

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

לדוגמה:

http://myorg-test.apigee.net/weather/oauth/authorizationcode?client_id=123456&response_type=code&redirect_uri=http://example.com/callback&scope=scope1%20scope2&state=abc

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

  • http://myexample.com/callback
  • http://myexample.uk/callback
  • http://myexample.ja/callback

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

שינוי התנהגות ברירת המחדל של הפעולה GenerateAuthCode

כברירת מחדל, הפעולה GenerateAuthCode של מדיניות OAuthV2 מחזירה הפניה אוטומטית (302) לכתובת ה-URL של הקריאה החוזרת עם פרמטר השאילתה ‎?code שמכיל את קוד ההרשאה.

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

אחת מהדרכים להשיג את תרחיש לדוגמה הזה היא להגדיר את הנכס GenerateResponse של מדיניות OAuthV2 לערך false. משתמשים במדיניות ExtractVariable כדי לקבל את הערך של קוד ההרשאה מהמשתנה oauthv2authcode.{policy_name}.code. לאחר מכן, תוכלו להשתמש במדיניות AssignMessage כדי להחזיר את הקוד בעומס נתונים (payload) של JSON עם סטטוס 200.

בדיקת הסכמת משתמשי הקצה באפליקציה

יכול להיות שתצטרכו לוודא שמשתמש קצה של אפליקציה העניק הרשאה לאפליקציה. כדי לעשות זאת, תוכלו להשתמש ב-Audit API של Apigee Edge.

דוגמה ל-OAuth יוצא

אפשר לעיין בדוגמה outbound-oauth במאגר api-platform-samples של Apigee ב-GitHub. אפשר לשכפל את הדוגמה, לפרוס אותה ולהריץ אותה. בדוגמה הזו נעשה שימוש ב-Microsoft Azure translator API כדי לתרגם ציוצים. לשם כך, הוא מבצע קריאה יוצאת כדי לקבל אסימון גישה ל-OAuth, ולאחר מכן מאחסן את האסימון במטמון באמצעות כללי האחסון במטמון של שירותי ה-API, ומשתמש שוב באסימון שנשמר במטמון בכל פעם שמתבצעת קריאה יוצאת. בנוסף, היא כוללת אפליקציית דפדפן להדגמה שמשמשת להפעלת שרת ה-proxy של ה-API.