מוצג המסמך של Apigee Edge.
עוברים אל
מסמכי תיעוד של Apigee X. מידע
אפשר להגדיר אימות של מפתח API ל-API על ידי צירוף של מדיניות מסוג 'אימות מפתח API'. רק ההגדרה הנדרשת עבור מדיניות אימות של מפתח API היא המיקום הצפוי של מפתח ה-API לבקשת הלקוח. שרת ה-proxy ל-API יבדוק את המיקום שציינתם ויחלץ את מפתח ה-API. אם מפתח ה-API לא נמצא במיקום הצפוי, תופיע שגיאה ותופיע הבקשה נדחה. אפשר למקם מפתחות API בפרמטר של שאילתה, בפרמטר של טופס או ב-HTTP הכותרת.
לדוגמה, הגדרת המדיניות שבהמשך מגדירה את מיקום המפתח הצפוי כשאילתה
פרמטר בשם apikey
. בקשה שמבוצעת בהצלחה חייבת להציג את מפתח ה-API כשאילתה
שמצורף לבקשה, לדוגמה ?apikey=Y7yeiuhcbKJHD790
.
כדי לאמת מפתחות API, צריך ליצור את המדיניות הבאה:
<VerifyAPIKey name="APIKeyValidation"> <APIKey ref="request.queryparam.apikey"/> </VerifyAPIKey>
אפשר לצרף את המדיניות הזו לכל API שצריך להגן עליו.
ניתן למצוא תיעוד מקיף של סוג המדיניות הזה בנושא ההפניה למדיניות, אימות מפתח ה-API .
שרתי proxy ל-API מעבירים באופן אוטומטי את כל כותרות ה-HTTP והפרמטרים של השאילתות שקיימים. לפי הבקשה. לכן אחרי שמפתח ה-API יאומת, כדאי להסיר אותו את ההודעה כך שמפתח ה-API לא יישלח דרך החוט לשירות בקצה העורפי. אפשר לעשות זאת באמצעות מדיניות מסוג AssignMessage באופן הבא:
<AssignMessage name="StripApiKey"> <DisplayName>Remove Query Param</DisplayName> <Remove> <QueryParams> <QueryParam name="apikey"/> </QueryParams> </Remove> <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> <AssignTo createNew="false" transport="http" type="request"></AssignTo> </AssignMessage>
קובץ מצורף של מדיניות
המדיניות צריכה להיות מצורפת לתהליך proxy ל-API כשלבי עיבוד. על ידי החלת המדיניות לבקשה PreFlow, מפתחות ה-API מאומתים בכל בקשה שמתקבלת על ידי שרת ה-proxy של ה-API אפליקציית לקוח. אחרי האימות, מפתח ה-API יוסר מהבקשה היוצאת.
מצרפים את כללי המדיניות ל-ProxyEndpoint של שרת ה-proxy ל-API שרוצים להגן עליהם באופן הבא:
<ProxyEndpoint name="default"> <PreFlow> <Request> <Step><Name>APIKeyValidation</Name></Step> <Step><Name>StripApiKey</Name></Step> </Request> </PreFlow>
לאחר צירוף המדיניות, פורסים את ה-Proxy ל-API.
שליחת בקשה עם מפתח API תקף
אדמינים בארגון יכולים לאחזר מפתח API של כל אפליקציה באופן הבא:
$ curl https://api.enterprise.apigee.com/v1/o/{myorg}/developers/{developer_email}/apps/{app_name} -u email:password
פרופיל האפליקציה שמוחזר עבור השיחה מספק את מפתח הצרכן (מפתח ה-API) והסוד. ערך המפתח לצרכן הוא הערך שבו משתמשים עבור מפתח ה-API בבקשה API.
לדוגמה, בקשה שלא כוללת מפתח API תוביל לקבלת הרשאה כשלכם.
$ curl http://{org_name}-test.apigee.net/weather/forecastrss?w=12797282
הודעת הכשל מציינת שהמדיניות בדקה אם יש מפתח API אבל לא נמצאה לו מפתח גישה תקין מפתח:
OAuth Failure : Could not resolve the app key with variable request.queryparam.apikey
כשמפתח הצרכן של האפליקציה נכלל כפרמטר של שאילתה, התוצאה הצפויה היא הרשאה מוצלחת:
$ curl http://{org_name}-test.apigee.net/weather/forecastrss?w=12797282&"apikey=PulSCqMnXGchW0pC0s5o9ngHVTWMeLqk"
התוצאה הצפויה היא תגובה מוצלחת משירות מזג האוויר.
אם משנים את הערך של מפתח ה-API בבקשה, מתקבלת הרשאה כשל:
$ curl http://{org_name}-test.apigee.net/weather?forecastrss?w=12797282&"apikey=PulSCqMnXGchW0"
תוצאות ב:
OAuth Failure : Consumer Key is Invalid
חשוב לזכור: אדמינים בארגון יכולים לאחזר את מפתח הצרכן של כל אפליקציה רשום בארגון:
$ curl https://api.enterprise.apigee.com/v1/o/{myorg}/developers/{developer_email}/apps/{app_name} -u email:password