כרגע מוצג התיעוד של Apigee Edge.
כניסה למסמכי התיעוד של
Apigee X. מידע
מה
אפשר להוסיף או לעדכן מאפיינים מותאמים אישית שמשויכים לאסימון גישה. מאפיינים מותאמים אישית עשויים לכלול פרטים כמו שם המחלקה, מספר לקוח או מזהה סשן. למידע נוסף, ראו התאמה אישית של אסימונים וקודי הרשאות.
ניתן רק להוסיף או לשנות מאפיינים מותאמים אישית. אי אפשר להשתמש במדיניות הזו כדי לשנות שדות כמו scope, סטטוס, פג תוקפו, מפתח_email, client_id, org_name או רענן_count. אם כבר קיים מאפיין, המדיניות הזו מעדכנת אותו. אם הוא לא קיים, המדיניות מוסיפה אותו. אסימון הגישה צריך להיות תקין ובמצב מאושר.
טעימות
דוגמה בסיסית
לפניכם מדיניות לדוגמה שמשמשת לעדכון אסימון גישה מסוג OAuth 2.0. הדוגמה הבאה
מאתרת את אסימון הגישה בהודעת הבקשה על ידי חיפוש פרמטר שאילתה שנקרא
access_token
. כשאסימון גישה מוצג על ידי אפליקציית לקוח, המדיניות
שלמטה תאתר את אסימון הגישה בפרמטר השאילתה. לאחר מכן, הפרופיל של אסימון הגישה יעודכן. הפעולה הזו מוסיפה לפרופיל נכס מותאם אישית שנקרא department.id
.
<SetOAuthV2Info name="SetOAuthV2Info"> <AccessToken ref="request.queryparam.access_token"></AccessToken> <Attributes> <Attribute name="department.id" ref="request.queryparam.department_id"></Attribute> </Attributes> </SetOAuthV2Info>
הפניה לרכיב
בהפניה לרכיב מתוארים הרכיבים והתכונות של מדיניות SetOAuthV2.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <SetOAuthV2Info async="false" continueOnError="false" enabled="true" name="SetOAuthV2Info-1"> <DisplayName>Set OAuth v2.0 Info 1</DisplayName> <AccessToken ref={some-variable}></AccessToken> <Attributes/> </SetOAuthV2Info> </xml>
מאפייני <SetOAuthV2Info>
<SetOAuthV2Info async="false" continueOnError="false" enabled="true" name="Set-OAuth-v20-Info-1">
בטבלה הבאה מפורטים המאפיינים שמשותפים לכל רכיבי ההורה של המדיניות:
מאפיין | התיאור | ברירת המחדל | נוכחות |
---|---|---|---|
name |
השם הפנימי של המדיניות. הערך של המאפיין אפשר להשתמש באלמנט |
לא רלוונטי | נדרש |
continueOnError |
צריך להגדיר את הערך צריך להגדיר את הערך |
false | אופציונלי |
enabled |
צריך להגדיר את הערך צריך להגדיר את הערך |
true | אופציונלי |
async |
המאפיין הזה הוצא משימוש. |
false | הוצא משימוש |
רכיב <DisplayName>
יש להשתמש במאפיין הזה בנוסף למאפיין name
כדי להוסיף למדיניות
בכלי לעריכת שרת ה-proxy לניהול ממשק משתמש עם שם אחר בשפה טבעית.
<DisplayName>Policy Display Name</DisplayName>
ברירת המחדל |
לא רלוונטי אם משמיטים את הרכיב הזה, המערכת משתמשת בערך של מאפיין |
---|---|
נוכחות | אופציונלי |
תיאור | מחרוזת |
רכיב <AccessToken>
המזהה של המשתנה שבו נמצא אסימון הגישה. לדוגמה, אם אסימון הגישה
מצורף כדי לבקש הודעה כפרמטר של שאילתה, צריך לציין את
request.queryparam.access_token
. אפשר להשתמש בכל משתנה חוקי שמפנה
לאסימון. לחלופין, יכולים לעבור במחרוזת האסימון המילולית (מקרה נדיר).
<AccessToken ref="request.queryparam.access_token"></AccessToken>
ברירת מחדל: | לא רלוונטי |
נוכחות: | נדרש |
סוג: | מחרוזת |
מאפיינים
מאפיין | התיאור | ברירת המחדל | נוכחות |
---|---|---|---|
ר' |
משתנה של אסימון גישה. הם מאוחזרים בדרך כלל ממשתנה זרימה. |
לא רלוונטי | אופציונלי |
האלמנט <Attributes>
קבוצת מאפיינים בפרופיל של אסימון הגישה שישתנו או יורחבו.
ברירת מחדל: | לא רלוונטי |
נוכחות: | נדרש |
סוג: | לא רלוונטי |
האלמנט <Attributes>/<Attribute>
מאפיין נפרד שצריך לעדכן.
מאפיין השם מזהה את המאפיין המותאם אישית של הפרופיל של אסימון הגישה שצריך לעדכן. בדוגמה הזו מוסבר איך להשתמש בערך של משתנה עם הפניה ובערך סטטי.
<Attributes> <Attribute name="department.id" ref="request.queryparam.department_id"></Attribute> <Attribute name="foo">bar</Attribute> </Attributes>
ברירת מחדל: | לא רלוונטי |
נוכחות: | אופציונלי |
סוג: | לא רלוונטי |
מאפיינים
מאפיין | התיאור | ברירת המחדל | נוכחות |
---|---|---|---|
name | שם מאפיין הפרופיל להוספה או לשינוי. | לא רלוונטי | |
ר' |
הערך שיש להקצות למאפיין הפרופיל. |
לא רלוונטי | אופציונלי |
משתני זרימה
כשהתהליך יסתיים בהצלחה, יוגדרו משתני הזרימה הבאים:
oauthv2accesstoken.{policyName}.access_token
oauthv2accesstoken.{policyName}.client_id
oauthv2accesstoken.{policyName}.refresh_count
oauthv2accesstoken.{policyName}.organization_name
oauthv2accesstoken.{policyName}.expires_in //--in seconds
oauthv2accesstoken.{policyName}.refresh_token_expires_in //--in seconds
oauthv2accesstoken.{policyName}.issued_at
oauthv2accesstoken.{policyName}.status
oauthv2accesstoken.{policyName}.api_product_list
oauthv2accesstoken.{policyName}.token_type
oauthv2accesstoken.{policyName}.{custom_attribute_name}
סכימה
כל סוג מדיניות מוגדר על ידי סכימת XML (.xsd
). לידיעתך, סכימות המדיניות זמינות ב-GitHub.
הפניה לשגיאות
בקטע הזה מתוארים קודי התקלות והודעות השגיאה שמוחזרים, ומשתני השגיאה שמוגדרים על ידי Edge כשהמדיניות הזו גורמת לשגיאה. חשוב לדעת אם אתם מפתחים כללים לתיקון תקלות. מידע נוסף זמין במאמר מה צריך לדעת על שגיאות מדיניות ועל טיפול בפגמים.
שגיאות בזמן ריצה
השגיאות האלה יכולות להתרחש כשהמדיניות מופעלת.
קוד שגיאה | סטטוס HTTP | סיבה |
---|---|---|
steps.oauth.v2.access_token_expired |
500 | פג התוקף של אסימון הגישה שנשלח למדיניות. |
steps.oauth.v2.invalid_access_token |
500 | אסימון הגישה שנשלח למדיניות אינו חוקי. |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 | מידע על פתרון השגיאה הזו זמין בפוסט הזה בקהילת Apigee. |
שגיאות בפריסה
יש לעיין בהודעה שמדווחת בממשק המשתמש לקבלת מידע על שגיאות פריסה.
משתני שבר
המשתנים האלה מוגדרים כשהמדיניות הזו גורמת לשגיאה בזמן הריצה.
משתנים | מיקום | דוגמה |
---|---|---|
fault.name="fault_name" |
fault_name הוא שם התקלה, כפי שמפורט בטבלה שגיאות זמן ריצה שלמעלה. שם הטעות הוא החלק האחרון בקוד השגיאה. | fault.name = "invalid_access_token" |
oauthV2.policy_name.failed |
policy_name הוא השם שצוין על ידי המשתמש של המדיניות שגרמה לשגיאה. | oauthV2.SetTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name הוא השם שצוין על ידי המשתמש של המדיניות שגרמה לשגיאה. | oauthV2.SetTokenInfo.fault.name = invalid_access_token |
oauthv2.policy_name.fault.cause |
policy_name הוא השם שצוין על ידי המשתמש של המדיניות שגרמה לשגיאה. | oauthV2.SetTokenInfo.cause = Invalid Access Token |
דוגמה לשגיאה
{ "fault": { "faultstring": "Invalid Access Token", "detail": { "errorcode": "keymanagement.service.invalid_access_token" } } }
דוגמה לכלל שגיאה
<FaultRule name=SetOAuthV2Info Faults"> <Step> <Name>AM-InvalidTokenResponse</Name> <Condition>(fault.name = "invalid_access_token")</Condition> </Step> <Condition>(oauthV2.failed = true) </Condition> </FaultRule>