מוצג המסמך של Apigee Edge.
עוברים אל
מסמכי תיעוד של Apigee X. מידע
מידע על מטא-נתונים של אסימון
Apigee Edge יוצרת אסימוני גישה ל-OAuth, אסימוני רענון וקודי הרשאות, וגם מנפקת אותן לאפליקציות מאומתות. בזמן הגנרציה, Edge שומר את האסימונים והקודים האלה. לאחר מכן, כש-Edge מקבל בקשות API נכנסות הנושאות את האסימונים או הקודים האלה, Edge משתמש מאוחסן לצורך אישור הבקשות.
כש-Edge יוצר את פריטי המידע שנוצרו בתהליך הפיתוח (Artifact) של OAuth, הוא גם מצרף מטא-נתונים לאסימון או לקוד. עבור לדוגמה, אסימון גישה משויך לצמדי שם/ערך שמגדירים את זמן התפוגה, אפליקציה ומפתח משויכים, ומידע אחר.
ייצוג JSON של אסימון גישה ל-Edge נראה כך:
{ "issued_at" : "1372170159093", "application_name" : "ccd1803b-b557-4520-bd62-ddd3abf8e501", "scope" : "READ", "status" : "approved", "api_product_list" : "[Product1,Product2]", "api_product_list_json" : ["Product1", "Product2"], "expires_in" : "3599", //--in seconds "developer.email" : "joe@weathersample.com", "organization_id" : "0", "refresh_token" : "82XMXgDyHTpFyXOaApj8C2AGIPnN2IZe", "client_id" : "deAVedE0W9Z9U35PAMaAJYphBJCGdrND", "access_token" : "shTUmeI1geSKin0TODcGLXBNe9vp", "organization_name" : "apifactory", "refresh_count" : "0" }
הוספת מאפיינים מותאמים אישית לאסימוני OAuth
לפעמים כדאי לצרף מטא-נתונים מותאמים אישית לאסימון גישה. לדוגמה, ייתכן שתרצו כדי להוסיף שם משתמש, מינויים לקבוצות או תפקידים של משתמש, מספר לקוח, מזהה סשן, או מידע שרירותי אחר לאסימון. ב-Apigee Edge, הנתונים האלה נקראים ." לאחר מכן, כשהאסימון מאומת במסגרת בקשת API, הנתונים הופכים לזמינים לשרת ה-proxy ל-API באמצעות משתני הקשר. על ידי שרת Proxy ל-API החלטות פרטניות לגבי הרשאה או ניתוב על סמך הנתונים המותאמים אישית שמצורפים אל ב-Assistant.
כדי לצרף נתונים שרירותיים לאסימון, צריך להשתמש ברכיב <Attributes>
ב
מדיניות OAuthV2. אפשר
לציין את השם של המאפיין המותאם אישית ואת הערך שהוא יקבל. לדוגמה, הנה
הגדרת מדיניות שיוצרת אסימון ומצרפת מאפיין מותאם אישית בשם 'tenant_list'
לאסימון:
<OAuthV2 name="GenerateAccessToken"> <Operation>GenerateAccessToken</Operation> <ExpiresIn>600000</ExpiresIn> <GenerateResponse /> <SupportedGrantTypes> <GrantType>client_credentials</GrantType> </SupportedGrantTypes> <GrantType>request.queryparam.grant_type</GrantType> <Attributes> <Attribute name="tenant_list" ref="tenant_list_retrieved_from_external_service" display="false"/> </Attributes> </OAuthV2>
אפשר לציין כמה מאפיינים מותאמים אישית, ולצרף אותם במרומז
קוד הרשאה (<Operation>GenerateAuthorizationCode</Operation>
) או
אסימון (<Operation>GenerateAccessToken</Operation>
) בזמן
ליצירת תמונות,
כאשר בשדה display
מוגדר הערך true
(ברירת המחדל), מאפיינים מותאמים אישית הם
שהוחזרו בתגובה, שם האפליקציה יכולה לראות אותם או להעביר אותם למשתמש הקצה.
אם המדיניות display
מוגדרת לערך false
, מאפיינים מותאמים אישית נשמרים בנתונים
מאוחסנים, אבל לא מוחזרים בהודעת התגובה. בכל מקרה, הנתונים המותאמים אישית זמינים
למדיניות בתוך שרת ה-proxy ל-API, לאחר אימות האסימון.
למידע נוסף על האפשרות display
הצגה או הסתרה של מאפיינים מותאמים אישית בתשובה.
אחזור מאפיינים מותאמים אישית בזמן ריצה
כשיש קריאה ל-OAuthV2/VerifyAccessToken
,
Apigee Edge מאמת את האסימון על ידי חיפוש שלו במאגר האסימונים. לאחר מכן, Apigee Edge מאכלסת
קבוצה של משתני הקשר שמכילים מידע על האסימון. למשל:
- organization_name
- developer.id
- developer.app.name
- client_id
- grant_type
- token_type
- access_token
- issued_at
- duration_in //--in seconds
- status
- היקף
- apiproduct.name*
אם יש באסימון מאפיינים מותאמים אישית, המאפיינים המותאמים אישית יהיו זמינים
משתנה הקשר בשם accesstoken.{custom_attribute}
. לדוגמה,
נניח שהאסימון הונפק בהתאם למדיניות שמוצגת למעלה. אחרי שנאמת אסימון כזה,
להיות משתנה הקשר נוסף בשם accesstoken.tenant_list
, שמכיל את הפונקציה
הערך שמאוחסן בזמן יצירת האסימון.
לאחר מכן, כללי המדיניות או התנאים יכולים להפנות למשתנים האלה ולשנות את ההתנהגות בהתאם והערכים שמאוחסנים בו.
הגדרה ועדכון של מאפיינים מותאמים אישית בכתובת זמן ריצה
במצבים מסוימים, תרצו שה-Proxy ל-API יעדכן את המטא-נתונים המשויכים אסימון גישה בזמן הריצה בזמן עיבוד קריאה ל-API ב-Apigee Edge. כדי לעזור לכם בכך, ב-Apigee יש מדיניות קבלה והגדרה של מאפייני אסימונים. מידע נוסף זמין במאמר הבא: קבלת מידע על OAuth V2 מדיניות והגדרת OAuth מדיניות בנושא מידע על V2.
AccessToken
צריך להתייחס למשתנה
מכיל את אסימון הגישה.
אפשר להשתמש גם בממשקי API של Edge כדי לעדכן את המאפיינים המותאמים אישית שמצורפים לאסימון. הצגת ה-API תיעוד עבור העדכון שיטת OAuth 2.0 Access Token.