חלק 2: יצירה ובדיקה של מפתח API

אתם צופים במסמכי התיעוד של Apigee Edge.
כדאי לעיין במסמכי התיעוד של Apigee X.
מידע

המאמר עבר רפקטורינג והפניה אוטומטית אל אבטחת API באמצעות דרישה של מפתחות API.

מפתח בונה אפליקציה ששולחת בקשות לממשקי ה-API שלכם כדי לגשת לשירותי הקצה העורפי. כדי לשלוט בגישה לממשקי ה-API, אתם יכולים לדרוש מהמפתח להעביר מפתח API בכל בקשה. אם המפתח חסר או לא תקין, הבקשה נכשלת.

פרסום הוא התהליך של הפיכת ממשקי ה-API שלכם לזמינים למפתחי אפליקציות לצורך שימוש. אפשר להגדיר ממשקי Publishing API באופן כללי לפי המשימות הבאות:

  1. יוצרים את מוצרי ה-API ב-Apigee Edge שכוללים את ה-API שלכם.
  2. רישום מפתחי אפליקציות ב-Edge. רק מפתחי אפליקציות רשומים יכולים לרשום אפליקציה.
  3. מפתחים רושמים אפליקציות ב-Edge כדי לגשת למוצרי API. בתגובה, המפתח מקבל מפתח API. עכשיו, כשיש למפתח מפתח API, הוא יכול לשלוח בקשות לממשקי ה-API שלכם.

מידע נוסף זמין במאמר מבוא לפרסום.

בטבלה הבאה מוגדרים חלק מהמונחים שמשמשים לרישום אפליקציות וליצירת מפתחות:

מונח הגדרה
מוצר API חבילה של שרתי proxy ל-API בשילוב עם תוכנית שירות שמגדירה מגבלות על הגישה לממשקי ה-API האלה. מוצרי API הם המנגנון המרכזי שמשמש את Apigee Edge להרשאה ולבקרת גישה לממשקי ה-API שלכם.
מפתח צרכן ה-API. מפתחים כותבים אפליקציות ששולחות בקשות לממשקי ה-API שלכם.
קידום אפליקציות אפליקציה בצד הלקוח שמפתח רושם כדי לגשת למוצר API. רישום האפליקציה במוצר ה-API יוצר את מפתח ה-API לגישה לממשקי ה-API במוצר הזה.
מפתח API מחרוזת עם פרטי הרשאה שאפליקציה בצד הלקוח משתמשת בה כדי לגשת למשאבים שנחשפים על ידי מוצר ה-API. מפתח ה-API נוצר כשמשייכים אפליקציה רשומה למוצר API.

דרישות מוקדמות ללימודים במדריך הזה

במדריך הזה אנחנו מניחים שסיימתם את המדריך הראשון, שבו יצרתם שרת proxy של API כדי לגשת ל-Yahoo weather API. אם עדיין לא סיימתם את המדריך הראשון, כדאי לעיין במאמר אבטחת API באמצעות דרישה של מפתחות API.

שלב 1: יצירת מוצר API

  1. בממשק ניהול, לוחצים על הכרטיסייה פרסום ואז על מוצרים.
  2. לוחצים על (+) מוצר.
  3. בתיבת הדו-שיח 'הוספת מוצר', מזינים או בוחרים את הפרטים הבאים בשדות:
    שדה ערך
    שם מוצר API חינמי
    השם המוצג מוצר API חינמי
    תיאור מוצר API חינמי
    סביבה בדיקה
    גישה פנימי בלבד
    סוג אישור המפתח אוטומטי
    (מפתח ה-API מאושר אוטומטית אחרי שהוא נוצר)
    מכסה ‫10 בקשות לשעה
    (מגביל את מספר הבקשות ל-10 בשעה)
    היקפי הרשאות מותרים של OAuth להשאיר ריק

    תיבת הדו-שיח המלאה צריכה להיראות כך:

  4. בקטע 'משאבים', בוחרים באחת מהאפשרויות הבאות:
    • API Proxy: weatherapikey
    • Revision: 1
    • Resource Path: /forecastrss**

      ה-Resource Path מציין את מזהי ה-URI של המשאבים שהמוצר מאפשר לאפליקציה לגשת אליהם. בדוגמה הזו, אפליקציה יכולה לגשת רק למשאב /forecastrss בשרת ה-proxy weatherapikey דרך מוצר ה-API הזה. אסור לנסות להשתמש במוצר ה-API הזה כדי לגשת למשאבים אחרים בשרת ה-proxy ‏weatherapiproxy או בשרת proxy אחר.

      מותר להשתמש בתווים כלליים לחיפוש בנתיב המשאב. התו הכללי '/**' מציין שכל ה-URI המשניים נכללים, כלומר משאב מהצורה /forecastrss/foo/bar. התו הכללי '/' מציין שרק כתובות URI ברמה אחת מתחת נכללות. מידע נוסף זמין במאמר בנושא יצירת מוצרי API.

      שימו לב: בתפריט הנפתח Resource Path מוצגים כל הזרימות המותנות שהוגדרו ב-proxy ל-API שצוין. הלוגיקה או שלבי העיבוד שמשויכים לנתיב משאב מוגדרים בזרימה מותנית של שרת proxy ל-API. מוצר API שולט בגישה לנתיבי המשאבים האלה.
  5. לוחצים על ייבוא משאב. נתיב המשאב מתווסף, ו-proxy ל-API‏ weatherapikey מתווסף אוטומטית לקטע API Proxies for Product.
  6. לוחצים על שמירה. המוצר החדש יופיע בדף המוצרים.

מידע נוסף:

שלב 2: רישום מפתח

כדי ליצור מפתח API, צריך לרשום אפליקציה ולשייך אותה למוצר API. עם זאת, אי אפשר לרשום אפליקציה בלי לרשום קודם את המפתח של האפליקציה.

  1. בממשק הניהול, לוחצים על הכרטיסייה פרסום ואז על מפתחים.
  2. לוחצים על (+) Developer (מפתח).
  3. בתיבת הדו-שיח 'מפתח חדש', מזינים את הערכים הבאים:
    • שם פרטי: Jane
    • שם משפחה: Tutorial
    • כתובת אימייל: janetutorial@example.com
    • שם משתמש: jtutorial
  4. לוחצים על שמירה. המפתח החדש מופיע ברשימת המפתחים בדף המפתחים.

מידע נוסף:

שלב 3: רישום האפליקציה

עכשיו, אחרי שיש לכם מוצר API ומפתח, אתם יכולים לרשום אפליקציה במוצר ה-API. רישום האפליקציה יוצר את מפתח ה-API למוצרי ה-API שמשויכים לאפליקציה. לאחר מכן אפשר להפיץ את המפתח למפתחי אפליקציות כדי שהם יוכלו לגשת לתכונות במוצרי ה-API מהאפליקציה.

  1. בממשק המשתמש של פלטפורמת ה-API, לוחצים על הכרטיסייה פרסום ואז על אפליקציות למפתחים.
  2. לוחצים על (+) Developer App (אפליקציית פיתוח).
  3. בתיבת הדו-שיח 'הוספת אפליקציה', מזינים את הערכים הבאים:
    • שם לתצוגה: Weather API Key App
    • מפתח: Jane Tutorial (janetutorial@example.com)
    • כתובת אתר של קריאה חוזרת (callback): לא ממלאים את השדה
  4. משייכים את האפליקציה למוצר:
    1. בקטע מוצרים, לוחצים על + מוצר.
    2. בוחרים באפשרות Free API Product (מוצר API ללא תשלום).
    3. לוחצים על סמל הווי כדי לאשר את השינויים.
  5. לוחצים על שמירה. האפליקציה החדשה מופיעה ברשימת האפליקציות בדף Developer Apps (אפליקציות למפתחים).
  6. ברשימת האפליקציות, בוחרים באפשרות Weather API Key App (אפליקציית מפתח API של מזג אוויר). נפתח דף הפרטים של האפליקציה.
  7. בחרתם באפשרות סוג אישור המפתח: אוטומטי כשיצרתם את מוצר ה-API, ולכן מפתח ה-API מאושר באופן אוטומטי ואפשר לראות אותו מיד. (אם בחרתם באפשרות סוג אישור: ידני, תצטרכו ללחוץ על אישור בעמודה 'פעולות' של מוצר API חינמי כדי לאשר את מפתח ה-API).
  8. בקטע Products (מוצרים), לצד הערך Free API Product (מוצר API חינמי), לוחצים על Show (הצגה) בעמודות Consumer Key (טוקן צרכן) ו-Consumer Secret (סוד לשימוש עם טוקן צרכן) כדי להציג את המפתחות שנוצרו.

    מפתח הצרכן הוא שם נוסף למפתח ה-API, והוא המפתח היחיד שאפליקציה צריכה כדי לגשת למשאב התחזית דרך ה-proxy ל-API שלכם . נדרש סוד צרכן (יחד עם אסימון צרכן) כדי לאבטח API באמצעות OAuth 2.0. לדוגמה, אפשר לעיין במאמר OAuth 2.0: הגדרת proxy ל-API חדש.

מידע נוסף:

שלב 4: שימוש במפתח ה-API בבקשה

כדי לוודא שהמדיניות VerifyAPIKey פועלת בצורה תקינה, צריך לבדוק אותה על ידי שליחת קריאה ל-proxy ל-API עם מפתח API תקין. אפשר לבקש את ה-proxy ל-API בדפדפן, מהדף Trace של ה-proxy ל-API, מ-Apigee Console או באמצעות cURL. כתובת ה-URL שרוצים לבקש היא מהצורה:

http://{org-name}-test.apigee.net/v1/weatherapikey/forecastrss?w=12797282&apikey=IEYRtW2cb7A5Gs54A1wKElECBL65GVls

מחליפים את שם הארגון שלכם ב-Apigee ב-{org-name} ואת הערך הנכון של apikey.

מחפשים את התוכן הבא בתשובה:

<rss xmlns:yweather="http://xml.weather.yahoo.com/ns/rss/1.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" version="2.0"> 
<channel> <title>Yahoo! Weather - Palo Alto, CA</title> 
<link>http://us.rd.yahoo.com/dailynews/rss/weather/Palo_Alto__CA/*http://weather.yahoo.com/forecast/USCA1093_f.html</link> 
<description>Yahoo! Weather for Palo Alto, CA</description> <language>en-us</language>

אם משמיטים את מפתח ה-API מהבקשה או מציינים ערך מפתח לא תקין, מקבלים תגובת שגיאה בפורמט הבא:

{"fault":{"faultstring":"Failed to resolve API Key variable null","detail":{"errorcode":"steps.oauth.v2.FailedToResolveAPIKey"}}}

שלב 5: לאן ממשיכים?

אחרי ששולחים בקשה ל-API באמצעות פרמטר שאילתה כדי להעביר את מפתח ה-API, צריך לשנות את ה-API כדי להעביר את המפתח ככותרת.

אפשר להמשיך אל אבטחת API באמצעות דרישה של מפתחות API.