שימוש בכלי השירות get_token וב-acurl

‫Apigee מספקת את כלי השירות get_token ו-acurl כדי לפשט את האינטראקציה עם מודול SSO ב-Apigee ועם Edge Management API. הכלים האלה מטפלים באופן אוטומטי ביצירת טוקנים, בשמירה במטמון, ברענון ובהזרקה.

כלי השירות מותקנים בצומת OpenLDAP בכתובת /opt/apigee/apigee-openldap/bin/.

כלי השירות get_token

הכלי get_token אחראי על קבלת אסימוני גישה וטוקן רענון של OIDC/OAuth2. היא תומכת בשני תהליכי אימות ראשיים וכוללת שמירת אסימונים במטמון.

תהליכי אימות

  • תהליך הרשאה באמצעות קוד מכשיר (RFC 8628): מיועד למשתמשים אנושיים שמבצעים אימות דרך ספק זהויות חיצוני (כמו SAML,‏ Okta או OIDC). אם מעבירים רק כתובת אימייל (-u <email>), כלי השירות מתחיל את התהליך הזה ומציג כתובת URL וקוד לאישור בדפדפן.
  • ‫Password Grant (ROPC): מיועד למשתמשים במכונות ללא GUI ולסקריפטים אוטומטיים. אם מעבירים גם שם משתמש וגם סיסמה (-u <user>:<password>), האימות מתבצע ישירות מול מודול SSO ב-Apigee בלי אינטראקציה עם הדפדפן.

שמירת טוקנים במטמון ורענון אוטומטי

הכלי get_token מנהל באופן אוטומטי את מחזורי החיים של האסימונים, כך שאתם לא צריכים לעקוב באופן ידני אחרי זמני התפוגה:

  • בדיקת המטמון: כשמפעילים את get_token, הוא בודק את המטמון המקומי ב-~/.sso-cli/<username>-token.json. אם קיים טוקן תקף שתוקפו לא פג, המערכת משתמשת בו מחדש בלי לבצע אימות מחדש.
  • רענון אוטומטי: אם פג התוקף של טוקן הגישה שנשמר במטמון אבל יש טוקן רענון תקף, הכלי מחליף אוטומטית את טוקן הרענון במודול SSO ב-Apigee בטוקן גישה חדש.

משתני סביבה

אתם יכולים להתאים אישית את ההתנהגות של get_token באמצעות משתני הסביבה הבאים:

  • ‫SSO_LOGIN_URL: כתובת ה-URL של מודול SSO ב-Apigee (ברירת מחדל: http://localhost:9099).
  • ‫CLIENT_ID: מזהה הלקוח ב-OAuth2 (ברירת המחדל: edgecli).
  • ‫CLIENT_SECRET: סוד הלקוח ב-OAuth2 (ברירת מחדל: edgeclisecret).

כלי השירות acurl

הכלי acurl הוא מעטפת שקופה סביב curl רגיל. הוא מוודא שכל בקשת API כוללת טוקן למוכ"ז תקין.

  • הפרדת ארגומנטים: הכלי מחלץ את הארגומנט -u <user:password> או -u <user> ומעביר אותו אל get_token. היא מעבירה את כל הארגומנטים האחרים (כמו -X, ‏ -H, ‏ -d, ‏ -v, ‏ -s) ישירות אל curl רגיל.
  • ביצוע: אחרי שמתקבל או מאוחזר בהצלחה טוקן תקין מ-get_token, המערכת של acurl מזריקה אוטומטית את הכותרת -H "Authorization: Bearer <token>" לקריאה לפונקציה curl.

דוגמאות לשימוש

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

/opt/apigee/apigee-openldap/bin/acurl -u developer@apigee.com http://MS_IP_DNS:8080/v1/organizations

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

דוגמה 2: התחברות ללא GUI למשתמש מכונה

/opt/apigee/apigee-openldap/bin/acurl -u jenkins-bot@apigee.com:Secret123! http://MS_IP_DNS:8080/v1/organizations

הפקודה הזו מבצעת אימות ישירות באמצעות Password Grant ומבצעת את הקריאה ל-API באופן מיידי.

דוגמה 3: שימוש חוזר באסימון שנשמר במטמון

/opt/apigee/apigee-openldap/bin/acurl http://MS_IP_DNS:8080/v1/users

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