מוצג המסמך של Apigee Edge.
עוברים אל
מסמכי תיעוד של Apigee X. מידע
מה
מאפשרת להוסיף או לעדכן מאפיינים מותאמים אישית שמשויכים לאסימון גישה. מאפיינים מותאמים אישית יכולים לכלול פרטים כמו שם מחלקה, מספר לקוח או מזהה סשן. עוד באותו הקשר התאמה אישית של אסימונים קודי הרשאות.
אפשר להוסיף או לשנות רק מאפיינים מותאמים אישית. לא ניתן להשתמש במדיניות הזו כדי לשנות שדות כמו היקף, סטטוס, תפוגת_in, Developer_email, client_id, org_name או Refresh_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
אפשר להשתמש בכל משתנה חוקי שמפנה אל
ב-Assistant. לחלופין, הוא יכול להעביר את מחרוזת האסימון המילולית (מקרה נדיר).
<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>
ברירת המחדל: | לא רלוונטי |
נוכחות: | אופציונלי |
סוג: | לא רלוונטי |
מאפיינים
מאפיין | תיאור | ברירת מחדל | נוכחות |
---|---|---|---|
שם | השם של מאפיין הפרופיל שרוצים להוסיף או לשנות. | לא רלוונטי | |
אזכור |
הערך שצריך להקצות למאפיין הפרופיל. |
לא רלוונטי | אופציונלי |
משתני זרימה
לאחר הצלחה, משתני הזרימה הבאים יוגדרו:
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>