आपको Apigee Edge दस्तावेज़ दिख रहा है.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
इस पेज पर जाएं
Apigee X दस्तावेज़. जानकारी
संसाधन के मालिक का पासवर्ड (या "पासवर्ड") देने की अनुमति का इस्तेमाल ज़्यादातर उन मामलों में किया जाता है जहां ऐप्लिकेशन काफ़ी भरोसेमंद है. इस कॉन्फ़िगरेशन में, उपयोगकर्ता अपने संसाधन सर्वर के क्रेडेंशियल उपलब्ध कराता है (उपयोगकर्ता नाम/पासवर्ड) क्लाइंट ऐप्लिकेशन को भेजा जाता है, जो उन्हें Apigee को ऐक्सेस टोकन के अनुरोध में भेजता है किनारे. एक आइडेंटिटी सर्वर, क्रेडेंशियल की पुष्टि करता है. अगर वे मान्य हैं, तो Edge मिंट पर जाता है ऐक्सेस टोकन देता है और उसे ऐप्लिकेशन पर वापस भेजता है.
इस विषय के बारे में जानकारी
इस विषय में, OAuth 2.0 संसाधन के मालिक के पासवर्ड के बारे में सामान्य जानकारी और खास जानकारी दी गई है ग्रांट टाइप फ़्लो और Apigee Edge पर इस फ़्लो को लागू करने के तरीके के बारे में बताया गया है.
उदाहरण जो आपके काम के हो सकते हैं
- अनुरोध किया जा रहा है ऐक्सेसटोकन: पासवर्ड देने की अनुमति का टाइप: इसमें आपको टोकन का अनुरोध करने का तरीका बताया जाता है. इसके लिए, पासवर्ड देने के तरीके के लिए OAuthV2 नीति और नीति के लिए एंडपॉइंट को कॉन्फ़िगर करने का तरीका किनारे.
- oauth-verify-key-secret: GitHub में एक सैंपल प्रॉक्सी है, जिसे आप Edge पर डिप्लॉय कर सकते हैं और आज़मा सकते हैं बाहर. यह पासवर्ड देने की अनुमति का टाइप बताने वाला एंड-टू-एंड उदाहरण है. यह दिखाता है कि प्रैक्टिस का मकसद, किसी आइडेंटिटी प्रोवाइडर के लिए उपयोगकर्ता के क्रेडेंशियल.
वीडियो
वीडियो: पासवर्ड देने की अनुमति लागू करने का तरीका बताने वाला यह वीडियो देखें टाइप करें.
उपयोग के उदाहरण
यह अनुदान टाइप बहुत भरोसेमंद या खास अधिकार वाले ऐप्लिकेशन के लिए है, क्योंकि इसके लिए उपयोगकर्ता ज़रूरी है ऐप्लिकेशन को अपने संसाधन सर्वर के क्रेडेंशियल देने के लिए. आम तौर पर, ऐप्लिकेशन लॉगिन स्क्रीन देता है जहां उपयोगकर्ता अपने क्रेडेंशियल डालता है.
फ़्लो डायग्राम
यहां दिए गए फ़्लो डायग्राम में, Apigee के साथ संसाधन के मालिक के पासवर्ड से जुड़ी अनुमति का फ़्लो दिखाया गया है ऑथराइज़ेशन सर्वर के तौर पर काम करने वाला एज.
सलाह: इस डायग्राम का बड़ा वर्शन देखने के लिए, उस पर राइट क्लिक करें और उसे नए टैब पर क्लिक करें या उसे सेव करके किसी इमेज व्यूअर में खोलें.
पासवर्ड देने के तरीके के फ़्लो में दिए गए चरण
यहां Apigee Edge पर पासवर्ड देने की सुविधा को लागू करने का तरीका बताया गया है अनुमति देने वाले सर्वर के तौर पर काम करता है.
ज़रूरी शर्त: क्लाइंट ऐप्लिकेशन को Apigee Edge के साथ रजिस्टर होना चाहिए, ताकि तो आपको क्लाइंट आईडी और क्लाइंट सीक्रेट कुंजियां मिलेंगी. इनके लिए क्लाइंट ऐप्लिकेशन रजिस्टर करना देखें विवरण.
1. उपयोगकर्ता फ़्लो शुरू करता है और क्रेडेंशियल डालता है
जब ऐप्लिकेशन को उपयोगकर्ता के सुरक्षित संसाधनों को ऐक्सेस करने की ज़रूरत होती है (उदाहरण के लिए, उपयोगकर्ता बटन), उपयोगकर्ता को लॉगिन फ़ॉर्म पर रीडायरेक्ट किया जाता है.
2. ऐप्लिकेशन से जुड़े अनुरोध Apigee Edge से मिला ऐक्सेस टोकन
ऐप्लिकेशन, ऐक्सेस टोकन का अनुरोध इस ईमेल पते पर भेजता है. इसमें उपयोगकर्ता के क्रेडेंशियल भी शामिल होते हैं Apigee Edge पर generateAccessToken एंडपॉइंट.
यहां पोस्ट अनुरोध का एक उदाहरण दिया गया है, जिसमें इस अनुदान प्रकार के लिए ज़रूरी पैरामीटर शामिल हैं:
$ curl -i \ -X POST \ -H 'Content-Type: application/x-www-form-urlencoded' \ -H 'Authorization: Basic c3FIOG9vSGV4VHo4QzAySVg5T1JvNnJoZ3ExaVNyQWw6WjRsanRKZG5lQk9qUE1BVQ' \ -d 'grant_type=password&username=the-user-name&password=the-users-password' \ https://docs-test.apigee.net/oauth/token
इसके अलावा, इस निर्देश को नीचे बताए गए तरीके से भी लागू किया जा सकता है. ऐसा करने के लिए -u विकल्प का इस्तेमाल करके कर्ल किया जा सकता है ताकि आपके लिए base64-एनकोडेड बेसिक पुष्टि करने का हेडर बनाया जा सके.
$ curl -i \ -X POST \ -H 'Content-Type: application/x-www-form-urlencoded' \ -u sqH8ooHexTz8C02IX9ORo6rhgq1iSrAl:Z4ljtJdneBOjPMAU \ -d 'grant_type=password&username=the-user-name&password=the-users-password' \ https://docs-test.apigee.net/oauth/token
(उन सभी निर्देशों को एक ही लाइन में रखा जाना चाहिए.)
उपयोगकर्ता क्रेडेंशियल, फ़ॉर्म पैरामीटर में शामिल होते हैं, जबकि क्लाइंट क्रेडेंशियल पुष्टि करने के लिए, एचटीटीपी बेसिक हेडर में एन्कोड किया गया है. इस एपीआई कॉल की ज़्यादा जानकारी पाने के लिए, आवश्यक मूल पुष्टि हेडर के बारे में विवरण सहित, पासवर्ड देने का सेक्शन देखें "अनुरोध किया जा रहा है ऐक्सेस टोकन और ऑथराइज़ेशन कोड" में शामिल होने के बारे में ज़्यादा जानें.
3. Edge, क्लाइंट की पुष्टि करता है ऐप्स
उपयोगकर्ता का उपयोगकर्ता नाम और पासवर्ड, आइडेंटिटी प्रोवाइडर को भेजने से पहले, Edge को यह पता होना चाहिए यह कि अनुरोध करने वाला क्लाइंट ऐप्लिकेशन एक मान्य और भरोसेमंद ऐप्लिकेशन है. ऐसा करने के लिए, एपीआई का इस्तेमाल किया जा सकता है एपीआई कॉल पर कुंजी की पुष्टि करने की सुविधा. कुछ मामलों में, हो सकता है कि आप दोनों क्लाइंट कुंजी की पुष्टि करना चाहें और गोपनीय है. यहां एक सैंपल प्रॉक्सी है, जो GitHub पर api-platform-सैंपल स्टोर करने की जगह.
4. Edge प्रोसेस करता है लॉगिन क्रेडेंशियल
क्लाइंट ऐप्लिकेशन की पुष्टि होने के बाद, कॉल करने के लिए सेवा कॉलआउट या JavaScript नीति का इस्तेमाल किया जा सकता है उपयोगकर्ता के क्रेडेंशियल भेजने वाली आइडेंटिटी सेवा. उदाहरण के लिए, यह LDAP सेवा हो सकती है या किसी भी सेवा का इस्तेमाल करें जिसका इस्तेमाल आप क्रेडेंशियल की पुष्टि करने के लिए करना चाहते हैं. इन नीतियों की जानकारी पाने के लिए, एक्सट्रैक्ट किए गए वैरिएबल नीति और JavaScript नीति पढ़ें.
अगर पहचान करने वाली सेवा क्रेडेंशियल की पुष्टि करती है और 200 रिस्पॉन्स देती है, तो Edge अनुरोध को प्रोसेस करना जारी रखें; ऐसा न होने पर, Edge प्रोसेस बंद हो जाता है और क्लाइंट ऐप्लिकेशन में मिलेगा.
5. OAuthV2 नीति निष्पादित करता है
अगर क्रेडेंशियल मान्य हैं, तो प्रोसेसिंग का अगला चरण OAuthV2 नीति को लागू करना है पासवर्ड ग्रांट प्रकार के लिए कॉन्फ़िगर किया गया. यहां एक उदाहरण दिया गया है. <UserName> और <PassWord> तत्वों की आवश्यकता होती है और आप उन्हें उन फ़्लो वैरिएबल से दोबारा पा सकते हैं, को ExtractVariables नीति के साथ सेव किया गया था. इस नीति के बारे में ज़्यादा जानकारी के लिए, OAuthV2 नीति देखें.
<OAuthV2 name="GetAccessToken"> <Operation>GenerateAccessToken</Operation> <ExpiresIn>360000000</ExpiresIn> <SupportedGrantTypes> <GrantType>password</GrantType> </SupportedGrantTypes> <GrantType>request.queryparam.grant_type</GrantType> <UserName>login</UserName> <PassWord>password</PassWord> <GenerateResponse/> </OAuthV2>
अगर यह नीति लागू होती है, तो ऐक्सेस वाले क्लाइंट को वापस एक जवाब जनरेट किया जाता है टोकन. रिस्पॉन्स, JSON फ़ॉर्मैट में होता है. यहां एक उदाहरण दिया गया है. ध्यान दें कि access_token इनमें से एक है: एलिमेंट:
{ "issued_at": "1420258685042", "scope": "READ", "application_name": "ce1e94a2-9c3e-42fa-a2c6-1ee01815476b", "refresh_token_issued_at": "1420258685042", "status": "approved", "refresh_token_status": "approved", "api_product_list": "[PremiumWeatherAPI]", "expires_in": "1799", "developer.email": "tesla@weathersample.com", "organization_id": "0", "token_type": "BearerToken", "refresh_token": "IFl7jlijYuexu6XVSSjLMJq8SVXGOAAq", "client_id": "5jUAdGv9pBouF0wOH5keAVI35GBtx3dT", "access_token": "I6daIgMSiUgYX1K2qgQWPi37ztS6", "organization_name": "docs", "refresh_token_expires_in": "0", "refresh_count": "0" }
6. क्लाइंट सुरक्षित एपीआई
अब मान्य ऐक्सेस कोड का इस्तेमाल करके, क्लाइंट सुरक्षित एपीआई को कॉल कर सकता है. इसमें स्थितियों में, Apigee Edge (प्रॉक्सी) को अनुरोध किया जाता है और उसकी पुष्टि करने की ज़िम्मेदारी Edge की होती है एपीआई कॉल को टारगेट रिसॉर्स सर्वर पर भेजने से पहले, ऐक्सेस टोकन का इस्तेमाल करता है. ऐक्सेस टोकन को ऑथराइज़ेशन हेडर में पास किया जाता है. उदाहरण के लिए:
$ curl -H "Authorization: Bearer I6daIgMSiUgYX1K2qgQWPi37ztS6 " http://{org_name}-test.apigee.net/weather/forecastrss?w=12797282