Edge API के साथ किसी बाहरी IDP का इस्तेमाल करने पर, आईडीपी इंटरैक्शन से OAuth2 ऐक्सेस और रीफ़्रेश टोकन पाने के लिए इस्तेमाल की जाने वाली प्रोसेस को पासकोड फ़्लो कहा जाता है. पासकोड फ़्लो की मदद से, ब्राउज़र का इस्तेमाल करके एक बार इस्तेमाल होने वाला पासकोड पाया जाता है. इसके बाद, इस पासकोड का इस्तेमाल करके OAuth2 टोकन पाए जाते हैं.
हालांकि, हो सकता है कि आपका डेवलपमेंट एनवायरमेंट, डेवलपमेंट से जुड़े सामान्य टास्क के लिए ऑटोमेशन की सुविधा देता हो. जैसे, टेस्ट ऑटोमेशन या सीआई/सीडी. अगर बाहरी आईडीपी चालू है, तो इन टास्क को ऑटोमेट करने के लिए, आपको OAuth2 टोकन पाने और उन्हें रीफ़्रेश करने का तरीका अपनाना होगा. इसके लिए, आपको ब्राउज़र से पासकोड को कॉपी/पेस्ट करने की ज़रूरत नहीं है.
Edge, उन संगठनों में मशीन यूज़र का इस्तेमाल करके अपने-आप टोकन जनरेट करने की सुविधा देता है जिनमें आईडीपी चालू है. मशीन उपयोगकर्ता, पासकोड डाले बिना OAuth2 टोकन हासिल कर सकता है. इसका मतलब है कि Edge Management API का इस्तेमाल करके, OAuth2 टोकन पाने और उन्हें रीफ़्रेश करने की प्रोसेस को पूरी तरह से ऑटोमेट किया जा सकता है.
आईडीपी की सुविधा वाले संगठन के लिए, मशीन यूज़र बनाने के दो तरीके हैं:
इनमें से हर तरीके के बारे में, आगे आने वाले सेक्शन में बताया गया है.
उन संगठनों के लिए मशीन यूज़र नहीं बनाया जा सकता जिन्होंने बाहरी आईडीपी को चालू नहीं किया है.
apigee-ssoadminapi.sh की मदद से मशीन यूज़र बनाना
आईडीपी की सुविधा वाले संगठन में मशीन यूज़र बनाने के लिए, apigee-ssoadminapi.sh
यूटिलिटी का इस्तेमाल करें. ज़्यादा जानकारी के लिए, 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
कहां:
- 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 यूटिलिटी का इस्तेमाल करने के बजाय, Edge मैनेजमेंट एपीआई का इस्तेमाल करके मशीन यूज़र बनाया जा सकता है.
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'
टोकन को बाद में इस्तेमाल करने के लिए सेव करें.
- ऐक्सेस टोकन को Edge मैनेजमेंट एपीआई कॉल में
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'