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. כלי השירות קורא את הטוקן שנשמר במטמון ומזריק אותו באופן אוטומטי.