Edge API के साथ, बाहरी आईडीपी का इस्तेमाल करने पर, सीएलआई से OIDC/OAuth2
ऐक्सेस टोकन पाने की स्टैंडर्ड प्रोसेस, OAuth 2.0 डिवाइस कोड फ़्लो है. इस फ़्लो में, get_token यूटिलिटी का इस्तेमाल किया जाता है. यह आपको आईडीपी के ज़रिए पुष्टि करने के लिए, ब्राउज़र में किसी यूआरएल पर जाने के लिए कहती है. इसके बाद, यह आपके टर्मिनल को अपने-आप अनब्लॉक कर देती है.
हालांकि, आपके डेवलपमेंट एनवायरमेंट में, डेवलपमेंट से जुड़े सामान्य टास्क के लिए ऑटोमेशन की सुविधा उपलब्ध हो सकती है. जैसे, टेस्ट ऑटोमेशन या सीआई/सीडी पाइपलाइन. बाहरी आईडीपी चालू होने पर, इन टास्क को ऑटोमेट करने के लिए, आपको OAuth2 टोकन को बिना ब्राउज़र इंटरैक्शन के, हेडलेस तरीके से पाने और रीफ़्रेश करने की ज़रूरत होती है.
Edge, हेडलेस मशीन उपयोगकर्ताओं का इस्तेमाल करके, टोकन जनरेट करने की प्रोसेस को ऑटोमेट करने की सुविधा देता है. मशीन उपयोगकर्ता, ब्राउज़र की ज़रूरत के बिना, पासवर्ड ग्रांट के स्टैंडर्ड तरीके से OIDC/OAuth2 टोकन पा सकता है. इसका मतलब है कि स्क्रिप्ट के लिए टोकन पाने और रीफ़्रेश करने की प्रोसेस को पूरी तरह से ऑटोमेट किया जा सकता है.
मशीन उपयोगकर्ता बनाना
ऐसा मशीन उपयोगकर्ता बनाया जा सकता है जिसका इस्तेमाल आपके सभी संगठन करते हैं. इसके अलावा, हर संगठन के लिए अलग-अलग मशीन उपयोगकर्ता भी बनाए जा सकते हैं.
मशीन उपयोगकर्ता को सीधे लोकल OpenLDAP डायरेक्ट्री में बनाया और सेव किया जाता है. साथ ही, इसे साफ़ तौर पर मशीन उपयोगकर्ता के तौर पर टैग किया जाता है (employeeType: machineuser). इससे Apigee SSO, पासवर्ड ग्रांट के ज़रिए मशीन उपयोगकर्ता की सुरक्षित तरीके से पुष्टि कर पाता है. भले ही, लोगों के लिए फ़ेडरेटेड एसएएमएल/ओआईडीसी को सख्ती से लागू किया गया हो.
मशीन उपयोगकर्ताओं को बनाने, उनकी सूची देखने, और उन्हें मैनेज करने के बारे में ज़्यादा जानकारी के लिए, apigee-machineuser.sh की मदद से मशीन उपयोगकर्ताओं को मैनेज करना लेख पढ़ें.
मशीन उपयोगकर्ता के टोकन पाना और रीफ़्रेश करना
मशीन उपयोगकर्ताओं के लिए टोकन पाने के लिए, /opt/apigee/apigee-openldap/bin/ में दी गई get_token और acurl यूटिलिटी या स्टैंडर्ड curl का इस्तेमाल किया जा सकता है.
- Apigee यूटिलिटी का इस्तेमाल करना:
get_tokenऔरacurlरैपर, टोकन कैशिंग, पेलोड जनरेशन, और ऑटो-रीफ़्रेशिंग को अपने-आप हैंडल करते हैं. इन टूल का इस्तेमाल करने के बारे में ज़्यादा जानकारी और उदाहरण पाने के लिए, get_token और acurl यूटिलिटी का इस्तेमाल करना लेख पढ़ें. - स्टैंडर्ड curl का इस्तेमाल करना: अगर आपके ऑटोमेशन स्क्रिप्ट के पास Apigee रैपर का ऐक्सेस नहीं है, तो Apigee SSO के साथ सीधे इंटरैक्ट करने के लिए,
curlके इन स्टैंडर्ड कमांड का इस्तेमाल किया जा सकता है:
स्टैंडर्ड curl का इस्तेमाल करके टोकन पाना और रीफ़्रेश करना:
- Apigee SSO से सीधे तौर पर, शुरुआती ऐक्सेस और रीफ़्रेश टोकन जनरेट करने के लिए, एपीआई कॉल का इस्तेमाल करें:
curl -H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \ -H "accept: application/json;charset=utf-8" \ -X POST http://Edge_SSO_IP_DNS:9099/token -s \ -d 'grant_type=password&username=machineUserEmail&password=machineUserPassword&client_id=edgecli&client_secret=edgeclisecret&scope=openid%20profile%20email%20offline_access' Authorization: Bearerहेडर में, Edge मैनेजमेंट एपीआई कॉल में ऐक्सेस टोकन पास करें:curl -H "Authorization: Bearer access_token" \ http://MS_IP_DNS:8080/v1/organizations/org_name
- बाद में, ऐक्सेस टोकन को नेटिव तरीके से रीफ़्रेश करने के लिए, रीफ़्रेश टोकन वाले इस कॉल का इस्तेमाल करें:
curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" \ -H "Accept: application/json;charset=utf-8" \ -X POST http://Edge_SSO_IP_DNS:9099/token \ -d 'grant_type=refresh_token&refresh_token=refreshToken&client_id=edgecli&client_secret=edgeclisecret'