Edge API के साथ बाहरी IDP का इस्तेमाल करते समय, OAuth2 पाने के लिए इस्तेमाल की जाने वाली प्रोसेस आईडीपी इंटरैक्शन के ज़रिए ऐक्सेस और रीफ़्रेश टोकन को पासकोड फ़्लो कहा जाता है. पासवर्ड डालने का विकल्प होता है, तो एक बार इस्तेमाल होने वाला पासवर्ड पाने के लिए ब्राउज़र का इस्तेमाल किया जाता है. इसके बाद, OAuth2 इस्तेमाल किया जा सकता है टोकन.
हालांकि, आपका डेवलपमेंट एनवायरमेंट, सामान्य डेवलपमेंट टास्क के लिए ऑटोमेशन की सुविधा का इस्तेमाल कर सकता है, जैसे, टेस्ट ऑटोमेशन या सीआई/सीडी. बाहरी आईडीपी (IdP) के चालू होने पर, ये टास्क अपने-आप हो जाएं, इसके लिए: OAuth2 टोकन को पाने और रीफ़्रेश करने का तरीका जानना होगा. इसके लिए, ब्राउज़र खोलें.
Edge, संगठनों में मशीन उपयोगकर्ताओं की मदद से, अपने-आप टोकन जनरेट करने की सुविधा देता है जिनमें आईडीपी (IdP) चालू हो. मशीन उपयोगकर्ता यह कर सकते हैं तो बिना पासवर्ड तय किए OAuth2 टोकन पा सकते हैं. इसका मतलब है कि आप पूरी तरह से Edge मैनेजमेंट एपीआई का इस्तेमाल करके, OAuth2 टोकन पाने और रीफ़्रेश करने की प्रोसेस.
आईडीपी की सुविधा वाले संगठन के लिए मशीन उपयोगकर्ता बनाने के दो तरीके हैं:
इनमें से हर तरीके के बारे में आगे आने वाले सेक्शन में बताया गया है.
जिन संगठनों ने बाहरी आईडीपी (IdP) की सुविधा चालू नहीं की है उनके लिए मशीन उपयोगकर्ता नहीं बनाया जा सकता.
apigee-ssoadminapi.sh
के साथ मशीन उपयोगकर्ता बनाएं
apigee-ssoadminapi.sh
का इस्तेमाल करना
आईडीपी (IdP) की सुविधा वाले संगठन में मशीन उपयोगकर्ता बनाने की सुविधा देता है. इस्तेमाल करने का तरीका देखें
apigee-ssoadminapi.sh सबमिट करें. आप एक ऐसा मशीन उपयोगकर्ता बना सकते हैं जिसका उपयोग सभी
या हर संगठन के लिए एक अलग मशीन उपयोगकर्ता बनाएं.
मशीन उपयोगकर्ता को Edge डेटास्टोर में बनाया और सेव किया जाता है, न कि आपके आईडीपी में. इसलिए, आपको वे Edge यूज़र इंटरफ़ेस (यूआई) और Edge मैनेजमेंट का इस्तेमाल करके मशीन उपयोगकर्ता के रखरखाव के लिए ज़िम्मेदार नहीं हैं एपीआई.
मशीन उपयोगकर्ता बनाते समय, आपको ईमेल पता और पासवर्ड डालना होगा. इस तारीख के बाद मशीन उपयोगकर्ता बनाते हुए, आप उसे एक या उससे ज़्यादा संगठनों को असाइन करते हैं.
apigee-ssoadminapi.sh
की मदद से मशीन उपयोगकर्ता बनाने के लिए:
- मशीन उपयोगकर्ता बनाने के लिए, नीचे दिए गए
apigee-ssoadminapi.sh
निर्देश का इस्तेमाल करें:apigee-ssoadminapi.sh saml machineuser add --admin SSO_ADMIN_NAME \ --secret SSO_ADMIN_SECRET --host Edge_SSO_IP_or_DNS \ -u machine_user_email -p machine_user_password
QUESTION/TBD: Does apigee-ssoadminapi.sh also take "ldap" as an argument?
कहां:
- SSO_ADMIN_NAME एडमिन का उपयोगकर्ता नाम है, जिसे
कॉन्फ़िगरेशन फ़ाइल में
SSO_ADMIN_NAME
प्रॉपर्टी का इस्तेमाल Apigee एसएसओ मॉड्यूल. डिफ़ॉल्ट वैल्यूssoadmin
है. - SSO_ADMIN_SECRET एडमिन पासवर्ड है, जो इसके मुताबिक तय किया गया है
कॉन्फ़िगरेशन फ़ाइल में
SSO_ADMIN_SECRET
प्रॉपर्टी मौजूद है.इस उदाहरण में,
--port
और--ssl
क्योंकिapigee-sso
मॉड्यूल डिफ़ॉल्ट का इस्तेमाल करता है--port
के लिए 9099 और--ssl
के लिए http की वैल्यू. अगर आपके इंस्टॉलेशन के लिए इन डिफ़ॉल्ट का इस्तेमाल नहीं किया जाता है, तो उन्हें सही तरीके से बताएं.
- SSO_ADMIN_NAME एडमिन का उपयोगकर्ता नाम है, जिसे
कॉन्फ़िगरेशन फ़ाइल में
- Edge यूज़र इंटरफ़ेस (यूआई) में लॉग इन करें और अपने संगठनों में मशीन उपयोगकर्ता का ईमेल पता जोड़ें और असाइन करें मशीन उपयोगकर्ता को ज़रूरी भूमिका दी जाती है. यहां जाएं: के लिए वैश्विक उपयोगकर्ता जोड़ना वगैरह को कॉपी करने का विकल्प है.
Edge के साथ मशीन उपयोगकर्ता बनाएं मैनेजमेंट एपीआई
मशीन यूज़र बनाने के लिए, एज मैनेजमेंट एपीआई का इस्तेमाल करने के बजाय
apigee-ssoadminapi.sh
उपयोगिता.
Management API की मदद से मशीन उपयोगकर्ता बनाने के लिए:
ssoadmin
उपयोगकर्ता के लिए टोकन पाने के लिए, इसcurl
निर्देश का इस्तेमाल करें:apigee-sso
के लिए व्यवस्थापक खाते का उपयोगकर्ता नाम:curl "http://Edge_SSO_IP_DNS:9099/oauth/token" -i -X POST \ -H 'Accept: application/json' / -H 'Content-Type: application/x-www-form-urlencoded' \ -d "response_type=token" -d "grant_type=client_credentials" \ --data-urlencode "client_secret=SSO_ADMIN_SECRET" \ --data-urlencode "client_id=ssoadmin"
ऐप्लिकेशन इंस्टॉल करते समय, आपने एडमिन पासवर्ड SSO_ADMIN_SECRET को कहां सेट किया है
apigee-sso
, जैसा किSSO_ADMIN_SECRET
प्रॉपर्टी के ज़रिए बताया गया है कॉन्फ़िगरेशन फ़ाइल है.यह निर्देश एक टोकन दिखाता है, जिसकी ज़रूरत आपको अगला कॉल करने के लिए होगी.
- मशीन उपयोगकर्ता बनाने के लिए, नीचे दिए गए
curl
कमांड का इस्तेमाल करें. इससे आपको जो टोकन पास करना है उसे करेंगे जो पिछले चरण में मिले हैं:curl "http://edge_sso_IP_DNS:9099/Users" -i -X POST \ -H "Accept: application/json" -H "Content-Type: application/json" \ -d '{"userName" : "machine_user_email", "name" : {"formatted":"DevOps", "familyName" : "last_name", "givenName" : "first_name"}, "emails" : [ {"value" : "machine_user_email", "primary" : true } ], "active" : true, "verified" : true, "password" : "machine_user_password" }' \ -H "Authorization: Bearer token"
आपको बाद के चरणों में मशीन के उपयोगकर्ता पासवर्ड की ज़रूरत पड़ेगी.
- Edge यूज़र इंटरफ़ेस (यूआई) में लॉग इन करें.
- मशीन उपयोगकर्ता का ईमेल पता अपने संगठनों में जोड़ें और मशीन उपयोगकर्ता को ज़रूरी भूमिका में हैं. जोड़ना देखें वैश्विक उपयोगकर्ता के बारे में जानें.
मशीन के उपयोगकर्ता टोकन पाना और उन्हें रीफ़्रेश करना
मशीन उपयोगकर्ता के पासवर्ड पास करके, OAuth2 टोकन पाने और रीफ़्रेश करने के लिए Edge API का इस्तेमाल करें पासवर्ड के बजाय क्रेडेंशियल का इस्तेमाल करें.
मशीन उपयोगकर्ता के लिए, OAuth2 टोकन पाने के लिए:
- शुरुआती ऐक्सेस और रीफ़्रेश टोकन जनरेट करने के लिए, नीचे दिए गए एपीआई कॉल का इस्तेमाल करें:
curl -H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \ -H "accept: application/json;charset=utf-8" \ -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST \ http://Edge_SSO_IP_DNS:9099/oauth/token -s \ -d 'grant_type=password&username=m_user_email&password=m_user_password'
टोकन को बाद में इस्तेमाल करने के लिए सेव करें.
- ऐक्सेस टोकन को एज मैनेजमेंट एपीआई कॉल में
Bearer
हेडर के तौर पर इस तरह पास करें नीचे दिया गया उदाहरण दिखाता है:curl -H "Authorization: Bearer access_token" \ http://MS_IP_DNS:8080/v1/organizations/org_name
जहां org_name, उस संगठन का नाम होता है जिसमें मशीन उपयोगकर्ता है.
- ऐक्सेस टोकन को बाद में रीफ़्रेश करने के लिए, इस कॉल का इस्तेमाल करें. इसमें रीफ़्रेश टोकन शामिल होता है:
curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" \ -H "Accept: application/json;charset=utf-8" \ -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST \ http://edge_sso_IP_DNS:9099/oauth/token \ -d 'grant_type=refresh_token&refresh_token=refreshToken'