OAuth का इस्तेमाल करके एपीआई को सुरक्षित बनाएं

आपको Apigee Edge दस्तावेज़ दिख रहा है.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है इस पेज पर जाएं Apigee X दस्तावेज़.
जानकारी

आपको इनके बारे में जानकारी मिलेगी

  • सैंपल एपीआई प्रॉक्सी को डाउनलोड और डिप्लॉय करें.
  • OAuth से सुरक्षित एपीआई प्रॉक्सी बनाएं.
  • प्रॉडक्ट, डेवलपर, और ऐप्लिकेशन बनाएं.
  • OAuth ऐक्सेस टोकन के लिए क्रेडेंशियल का इस्तेमाल करें.
  • ऐक्सेस टोकन वाले एपीआई को कॉल करें.

इस ट्यूटोरियल में, OAuth 2.0 की मदद से एपीआई को सुरक्षित करने का तरीका बताया गया है.

OAuth एक अनुमति देने वाला प्रोटोकॉल है. यह ऐप्लिकेशन को इनकी ओर से जानकारी ऐक्सेस करने की सुविधा देता है उनके लिए, उपयोगकर्ताओं को अपना उपयोगकर्ता नाम और पासवर्ड बताने की ज़रूरत न पड़े.

OAuth के साथ, सुरक्षा क्रेडेंशियल (जैसे कि उपयोगकर्ता नाम/पासवर्ड या कुंजी/सीक्रेट) एक्सचेंज किए जाते हैं पर जाएं. उदाहरण के लिए:

joe:joes_password (username:password) या
Nf2moHOASMJeUmXVdDhlMbPaXm2U7eMc:unUOXYpPe74ZfLEb (कुंजी:सीक्रेट)

कुछ ऐसा बन जाता है:

b0uiYwjRZLEo4lEu7ky2GGxHkanN

ऐक्सेस टोकन, वर्णों की एक बेतरतीब स्ट्रिंग है और यह कुछ समय के लिए होता है. इसकी समयसीमा कम समय लगता है), इसलिए ऐप्लिकेशन के वर्कफ़्लो में उपयोगकर्ता की पुष्टि करने के लिए इसे पास करना और असल क्रेडेंशियल पास करने की तुलना में ज़्यादा सुरक्षित है.

OAuth 2.0 स्पेसिफ़िकेशन में अलग-अलग प्रोसेस के बारे में बताया जाता है. इन तरीकों को "अनुमति के टाइप" कहते हैं. डिस्ट्रिब्यूशन का ऐक्सेस देने के लिए के लिए टोकन शामिल हैं. OAuth 2.0 में बताए गए सबसे बुनियादी अनुदान प्रकार को "क्लाइंट" कहा जाता है क्रेडेंशियल." अनुमति के इस टाइप में, क्लाइंट के बदले OAuth ऐक्सेस टोकन जनरेट किए जाते हैं क्रेडेंशियल, जो उपभोक्ता कुंजी/उपभोक्ता सीक्रेट जोड़े होते हैं, जैसा कि ऊपर दिया गया उदाहरण है.

Edge में क्लाइंट क्रेडेंशियल देने की अनुमति का टाइप, एपीआई प्रॉक्सी में दी गई नीतियों का इस्तेमाल करके लागू किया जाता है. ऐप्लिकेशन आम तौर पर, OAuth फ़्लो में दो चरण होते हैं:

  • क्लाइंट से OAuth ऐक्सेस टोकन जनरेट करने के लिए एपीआई प्रॉक्सी 1 पर कॉल करें क्रेडेंशियल डालें. एपीआई प्रॉक्सी पर OAuth v2.0 नीति की मदद से इसे मैनेज किया जाता है.
  • एपीआई कॉल में OAuth ऐक्सेस टोकन भेजने के लिए, एपीआई प्रॉक्सी 2 पर कॉल करें. कॉन्टेंट बनाने एपीआई प्रॉक्सी, ऐक्सेस टोकन की पुष्टि करने के लिए, OAuth v2.0 नीति का इस्तेमाल करता है.

आपको इनकी ज़रूरत होगी

  • Apigee Edge खाता. अगर आपके पास अब तक कोई खाता नहीं है, तो निर्देशों की मदद से साइन अप करें एक Apigee बनाना Edge खाता.
  • cURL को आपकी मशीन पर इंस्टॉल किया कमांड लाइन से एपीआई कॉल करें.

टोकन जनरेट करने वाला एपीआई डाउनलोड और डिप्लॉय करें प्रॉक्सी

इस चरण में, आपको ऐसी एपीआई प्रॉक्सी बनानी होगी जो किसी API कॉल में भेजी गई उपभोक्ता कुंजी और उपभोक्ता सीक्रेट. Apigee, एपीआई प्रॉक्सी का एक सैंपल देता है, जो करता है. प्रॉक्सी को अभी डाउनलोड करके डिप्लॉय किया जा सकता है. इसके बाद, ट्यूटोरियल में उसका इस्तेमाल किया जा सकता है. (आप इस एपीआई प्रॉक्सी को आप आसानी से बना सकते हैं. डाउनलोड और डिप्लॉय करने का यह तरीका, आपकी सुविधा के लिए है और आपको यह दिखाने के लिए कि पहले ही बनाई जा चुकी प्रॉक्सी को शेयर करना कितना आसान है.)

  1. 'oauth' डाउनलोड करें आपकी फ़ाइल पर मौजूद किसी भी डायरेक्ट्री में एपीआई प्रॉक्सी का सैंपल ZIP फ़ाइल बनाएं सिस्टम.
  2. https://apigee.com/edge पर जाएं और साइन इन करें.
  3. डेवलप करें > एपीआई प्रॉक्सी पर क्लिक करें.
  4. + प्रॉक्सी पर क्लिक करें.
    'प्रॉक्सी बनाएं' बटन
  5. प्रॉक्सी बनाएं विज़र्ड में, प्रॉक्सी बंडल अपलोड करें पर क्लिक करें.
  6. डाउनलोड की गई oauth.zip फ़ाइल चुनें और क्लिक करें आगे बढ़ें.
  7. बनाएं पर क्लिक करें.
  8. बिल्ड पूरा होने के बाद, नई प्रॉक्सी देखने के लिए प्रॉक्सी में बदलाव करें पर क्लिक करें के लिए, एपीआई प्रॉक्सी एडिटर में दिया जाता है.
  9. एपीआई प्रॉक्सी एडिटर की खास जानकारी देने वाले पेज पर, डिप्लॉयमेंट ड्रॉप-डाउन पर क्लिक करें और जांच चुनें. यह आपके संगठन में टेस्ट एनवायरमेंट है.
    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
    पुष्टि करने के अनुरोध पर, डिप्लॉय करें पर क्लिक करें.
    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है जब डिप्लॉयमेंट ड्रॉप-डाउन पर फिर से क्लिक किया जाता है, तो हरे रंग का आइकॉन बताता है कि प्रॉक्सी टेस्ट एनवायरमेंट में डिप्लॉय किया गया.

बहुत बढ़िया! आपने ऐक्सेस टोकन जनरेट करने वाला एपीआई डाउनलोड और डिप्लॉय कर लिया है अपने Edge संगठन के लिए प्रॉक्सी करें.

OAuth फ़्लो और नीति देखना

आइए, देखते हैं कि एपीआई प्रॉक्सी में क्या-क्या शामिल है.

  1. एपीआई प्रॉक्सी एडिटर में, डेवलप करें टैब पर क्लिक करें. बाईं ओर नेविगेटर पैनल में, आपको दो नीतियां दिखेंगी. आपको दो POST भी दिखेंगे Proxy Endpoints सेक्शन में फ़्लो करता है.
  2. इसके तहत, AccessTokenClientCredential पर क्लिक करें Proxy Endpoints.

    एक्सएमएल कोड व्यू में, आपकोFlow AccessTokenClientCredential:

    <Flow name="AccessTokenClientCredential">
        <Description/>
        <Request>
            <Step>
                <Name>GenerateAccessTokenClient</Name>
            </Step>
        </Request>
        <Response/>
        <Condition>(proxy.pathsuffix MatchesPath "/accesstoken") and (request.verb = "POST")</Condition>
    </Flow>
    

    एपीआई प्रॉक्सी में प्रोसेसिंग का एक चरण होता है, जिसे फ़्लो कहते हैं. इस मामले में, फ़्लो तब ट्रिगर होता है, जब कोई खास शर्त पूरी होती हो (इसे कंडिशनल फ़्लो कहा जाता है). शर्त, इसमें परिभाषित किया गया है <Condition> एलिमेंट में बताया जाता है कि अगर एपीआई प्रॉक्सी कॉल किया जाता है, तो /accesstoken संसाधन और अनुरोध क्रिया POST है, फिर GenerateAccessTokenClient नीति को लागू करती है, जिससे ऐक्सेस जनरेट होता है टोकन.

  3. आइए, अब उस नीति को देखते हैं जिससे शर्तों के साथ फ़्लो ट्रिगर होता है. क्लिक करें फ़्लो डायग्राम में, GenerateAccessTokenClient नीति का आइकॉन.
    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
    कोड व्यू में इस एक्सएमएल कॉन्फ़िगरेशन को लोड किया गया है:

    <OAuthV2 name="GenerateAccessTokenClient">
        <!-- This policy generates an OAuth 2.0 access token using the client_credentials grant type -->
        <Operation>GenerateAccessToken</Operation>
        <!-- This is in millseconds, so expire in an hour -->
        <ExpiresIn>3600000</ExpiresIn>
        <SupportedGrantTypes>
            <!-- This part is very important: most real OAuth 2.0 apps will want to use other
             grant types. In this case it is important to NOT include the "client_credentials"
             type because it allows a client to get access to a token with no user authentication -->
            <GrantType>client_credentials</GrantType>
        </SupportedGrantTypes>
        <GrantType>request.queryparam.grant_type</GrantType>
        <GenerateResponse/>
    </OAuthV2>
    

    कॉन्फ़िगरेशन में ये चीज़ें शामिल हैं:

    • <Operation>, जो पहले से तय की गई कई वैल्यू में से एक हो सकती है, तय करता है कि नीति का क्या काम होगा. इस मामले में, यह एक एक्सेस जनरेट करेगा टोकन.
    • टोकन जनरेट होने के एक घंटे (36,00,000 मिलीसेकंड) की समयसीमा खत्म हो जाएगी.
    • <SupportedGrantTypes> में, OAuth <GrantType>, client_credentials बजे इस्तेमाल होने की उम्मीद है (OAuth टोकन के लिए उपभोक्ता कुंजी और सीक्रेट की अदला-बदली करना).
    • दूसरे <GrantType> एलिमेंट से यह पता चलता है कि नीति को कहां देखना है OAuth 2.0 के स्पेसिफ़िकेशन के मुताबिक, ग्रांट टाइप पैरामीटर के लिए एपीआई कॉल. (यह बाद में एपीआई कॉल में दिखेगा). अनुमति के टाइप को एचटीटीपी में भी भेजा जा सकता है हेडर (request.header.grant_type) या फ़ॉर्म पैरामीटर के तौर पर (request.formparam.grant_type).

आपको फ़िलहाल एपीआई प्रॉक्सी के साथ कुछ भी और करने की ज़रूरत नहीं है. बाद के चरणों में, आपको OAuth ऐक्सेस टोकन जनरेट करने के लिए इस एपीआई प्रॉक्सी का इस्तेमाल करना होगा. हालाँकि, सबसे पहले आपको कुछ काम करने होंगे अन्य चीज़ें:

  • वह एपीआई प्रॉक्सी बनाएं जिसे आपको OAuth से सुरक्षित करना है.
  • कुछ और ऐसे आर्टफ़ैक्ट बनाएं जिनकी मदद से, लोगों के लिए उपभोक्ता कुंजी और उपभोक्ता की जानकारी आसानी से पाई जा सके तो आपको किसी ऐक्सेस टोकन को बदलना होगा.

OAuth से सुरक्षित एपीआई प्रॉक्सी बनाएं

'मॉकटारगेट' के बारे में जानकारी

mocktarget सेवा, Apigee पर होस्ट की जाती है और इससे आसान डेटा मिलता है. तय सीमा में इसे वेब ब्राउज़र से ऐक्सेस किया जा सकता है. इसे आज़माने के लिए, इस पर क्लिक करें:

http://mocktarget.apigee.net/ip

टारगेट से वही जानकारी मिलती है जो आपको इस एपीआई प्रॉक्सी को कॉल करने पर दिखनी चाहिए.

http://mocktarget.apigee.net/help पर जाकर, ऐसे अन्य एपीआई रिसॉर्स भी देखे जा सकते हैं जिन्हें मॉकटारगेट में उपलब्ध हो.

अब वह एपीआई प्रॉक्सी बनाएं जिसे आपको सुरक्षित रखना है. यह वह एपीआई कॉल है आपकी पसंद की कोई चीज़ लौटा देता है. ऐसे मामले में एपीआई प्रॉक्सी, Apigee की मॉकटारगेट सेवा को कॉल करेगा अपना आईपी पता वापस करने के लिए. हालांकि, मान्य OAuth ऐक्सेस पास करने पर ही यह आपको दिखेगा आपके एपीआई कॉल के साथ टोकन शामिल है.

आप यहां जो एपीआई प्रॉक्सी बनाएंगे उसमें एक ऐसी नीति शामिल होगी जो अनुरोध.

  1. डेवलप करें > एपीआई प्रॉक्सी पर क्लिक करें.
  2. + प्रॉक्सी पर क्लिक करें.
    &#39;प्रॉक्सी बनाएं&#39; बटन
  3. प्रॉक्सी बनाएं विज़र्ड में, रिवर्स प्रॉक्सी (सबसे सामान्य) चुनें, और आगे बढ़ें पर क्लिक करें.
  4. प्रॉक्सी को इनके साथ कॉन्फ़िगर करें:
    इस फ़ील्ड में यह करें
    प्रॉक्सी नाम डालें: helloworld_oauth2
    प्रोजेक्ट का बुनियादी पाथ

    इससे बदलें: /hellooauth2

    प्रोजेक्ट बेस पाथ, यूआरएल का हिस्सा होता है. इसका इस्तेमाल एपीआई को अनुरोध करने के लिए किया जाता है प्रॉक्सी.

    मौजूदा एपीआई

    डालें: https://mocktarget.apigee.net/ip

    यह उस टारगेट यूआरएल के बारे में बताता है जिसे Apigee Edge ने एपीआई को अनुरोध करने पर शुरू किया है प्रॉक्सी.

    जानकारी डालें: hello world protected by OAuth
  5. आगे बढ़ें पर क्लिक करें.
  6. सामान्य नीतियां पेज पर:
    इस फ़ील्ड में यह करें
    सुरक्षा: अनुमति देना चुनें: OAuth 2.0
  7. आगे बढ़ें पर क्लिक करें.
  8. वर्चुअल होस्ट पेज पर, आगे बढ़ें पर क्लिक करें.
  9. बिल्ड पेज पर, पक्का करें कि टेस्ट एनवायरमेंट चुना गया हो और बनाएं और डिप्लॉय करें पर क्लिक करें.
  10. खास जानकारी पेज पर, आपको यह स्वीकार करने की सुविधा दिखती है कि आपका नया एपीआई प्रॉक्सी बनाई गई और एपीआई प्रॉक्सी को आपके टेस्ट में डिप्लॉय किया गया पर्यावरण को ध्यान में रखते हुए काम करना.
  11. एपीआई प्रॉक्सी का खास जानकारी वाला पेज दिखाने के लिए, प्रॉक्सी में बदलाव करें पर क्लिक करें.
    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है ध्यान दें कि इस बार एपीआई प्रॉक्सी अपने-आप डिप्लॉय हो जाता है. 'डिप्लॉयमेंट' पर क्लिक करें यह पक्का करने के लिए ड्रॉप-डाउन मेन्यू कि "जांच" के बगल में हरे रंग का डिप्लॉयमेंट डॉट मौजूद है पर्यावरण को ध्यान में रखते हुए काम करना.

नीतियां पढ़ें

आइए, थोड़ा ध्यान से देखते हैं कि आपने क्या बनाया है.

  1. एपीआई प्रॉक्सी एडिटर में, डेवलप करें टैब पर क्लिक करें. आपको दिखेगा कि दो एपीआई प्रॉक्सी के अनुरोध फ़्लो में नीतियां जोड़ी गई हैं:
    • OAuth v2.0 ऐक्सेस टोकन की पुष्टि करें – यह एपीआई कॉल की जांच करता है यह पक्का करें कि मान्य OAuth टोकन मौजूद हो.
    • हेडर ऑथराइज़ेशन हटाएं – यह एकassignMessage नीति है जो सही का निशान लगाने के बाद ऐक्सेस टोकन को हटा देता है, ताकि वह टारगेट सेवा. (अगर टारगेट सेवा को OAuth ऐक्सेस टोकन की ज़रूरत हो, तो आपको इस नीति के तहत आता है).
  2. फ़्लो व्यू में, OAuth v2.0 ऐक्सेस टोकन की पुष्टि करें आइकॉन पर क्लिक करें और कोड पैनल में, इसके नीचे दिए गए एक्सएमएल को देखें.

    <OAuthV2 async="false" continueOnError="false" enabled="true" name="verify-oauth-v2-access-token">
        <DisplayName>Verify OAuth v2.0 Access Token</DisplayName>
        <Operation>VerifyAccessToken</Operation>
    </OAuthV2>
    

    ध्यान दें कि <Operation>, VerifyAccessToken है. कॉन्टेंट बनाने ऑपरेशन से यह तय होता है कि नीति को क्या करना चाहिए. इस मामले में, यह जाँच की जाएगी को डालें.

एपीआई प्रॉडक्ट जोड़ें

Apigee यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करके एपीआई प्रॉडक्ट जोड़ने के लिए:

  1. पब्लिश करें > को चुनें एपीआई प्रॉडक्ट.
  2. +एपीआई प्रॉडक्ट पर क्लिक करें.
  3. एपीआई प्रॉडक्ट के लिए, प्रॉडक्ट के बारे में जानकारी डालें.
    फ़ील्ड ब्यौरा
    नाम एपीआई प्रॉडक्ट का अंदरूनी नाम. नाम में खास वर्ण न डालें.
    ध्यान दें: एपीआई प्रॉडक्ट बनने के बाद, नाम में बदलाव नहीं किया जा सकता. उदाहरण के लिए, helloworld_oauth2-Product
    डिसप्ले नाम एपीआई प्रॉडक्ट का डिसप्ले नेम. डिसप्ले नेम का इस्तेमाल यूज़र इंटरफ़ेस (यूआई) में किया गया है और इसमें बदलाव किया जा सकता है उसे किसी भी समय ऐक्सेस कर सकते हैं. अगर यह जानकारी नहीं दी गई है, तो नाम वाली वैल्यू का इस्तेमाल किया जाएगा. इस फ़ील्ड में जानकारी अपने-आप भर जाती है नाम वैल्यू का इस्तेमाल करके; आप इसकी सामग्री में बदलाव कर सकते हैं या इसे मिटा सकते हैं. डिसप्ले नेम में ये चीज़ें शामिल हो सकती हैं विशेष वर्णों का इस्तेमाल करें. उदाहरण के लिए, helloworld_oauth2-Product.
    ब्यौरा एपीआई प्रॉडक्ट की जानकारी.
    परिवेश ऐसे एनवायरमेंट जिनमें एपीआई प्रॉडक्ट ऐक्सेस करने की अनुमति देगा. वह परिवेश चुनें जिसमें आपने एपीआई प्रॉक्सी डिप्लॉय किया है. उदाहरण के लिए, test.
    ऐक्सेस सार्वजनिक चुनें.
    ऐक्सेस के अनुरोधों को अपने-आप मंज़ूरी दें एपीआई वाले इस प्रॉडक्ट के लिए, किसी भी ऐप्लिकेशन से मुख्य अनुरोधों के लिए अपने-आप अनुमति पाने की सुविधा चालू करें.
    अनुरोध भेजने की तय सीमा (कोटा) इस ट्यूटोरियल को अनदेखा करें.
    अनुमति वाले OAuth के दायरे इस ट्यूटोरियल को अनदेखा करें.
  4. एपीआई प्रॉक्सी फ़ील्ड में, आपने अभी जो एपीआई प्रॉक्सी बनाया है उसे चुनें.
  5. पाथ फ़ील्ड में "/" डालें. दूसरे फ़ील्ड को अनदेखा करें.
  6. सेव करें पर क्लिक करें.

अपने संगठन

इसके बाद, आपके पास उस डेवलपर के वर्कफ़्लो को सिम्युलेट करने का विकल्प है जो आपके एपीआई इस्तेमाल करने के लिए साइन अप करता है. आम तौर पर, डेवलपर खुद को और अपने ऐप्लिकेशन को डेवलपर पोर्टल की मदद से रजिस्टर करते हैं. इसमें चरण पूरा करने के लिए, आपको डेवलपर और ऐप्लिकेशन को एडमिन के तौर पर जोड़ना होगा.

डेवलपर के पास एक या उससे ज़्यादा ऐसे ऐप्लिकेशन होंगे जो आपके एपीआई को कॉल करते हैं. साथ ही, हर ऐप्लिकेशन के लिए अलग-अलग उपभोक्ता कुंजी और उपभोक्ता रहस्य. हर ऐप्लिकेशन की कुंजी/सीक्रेट आपको एपीआई सेवा देने वाली कंपनी, अपने एपीआई के ऐक्सेस पर ज़्यादा कंट्रोल और एपीआई पर आंकड़ों की ज़्यादा जानकारी वाली रिपोर्ट क्योंकि Edge को पता है कि कौनसा डेवलपर और ऐप्लिकेशन किस OAuth टोकन से जुड़ा है.

डेवलपर बनाएं

चलिए, Nigel Tufnel नाम का डेवलपर बनाते हैं.

  1. पब्लिश करें > को चुनें डेवलपर पर क्लिक करें.
  2. + डेवलपर पर क्लिक करें.
  3. नए डेवलपर की विंडो में यह जानकारी डालें:
    इस फ़ील्ड में Enter
    नाम Nigel
    सरनेम Tufnel
    प्रयोक्ता नाम nigel
    ईमेल nigel@example.com
  4. बनाएं पर क्लिक करें.

ऐप्लिकेशन रजिस्टर करना

आइए, निगेल के लिए एक ऐप्लिकेशन बनाते हैं.

  1. पब्लिश करें > को चुनें ऐप्लिकेशन.
  2. + ऐप्लिकेशन पर क्लिक करें.
  3. नए ऐप्लिकेशन की विंडो में यह जानकारी डालें:
    इस फ़ील्ड में यह करें
    नाम और डिसप्ले नेम डालें: nigel_app
    डेवलपर डेवलपर पर क्लिक करें और चुनें: Nigel Tufnel (nigel@example.com)
    कॉलबैक यूआरएल और नोट खाली छोड़ें
  4. प्रॉडक्ट में जाकर, प्रॉडक्ट जोड़ें पर क्लिक करें.
  5. helloworld_oauth2-Product चुनें.
  6. बनाएं पर क्लिक करें.

पाएं उपभोक्ता कुंजी और उपभोक्ता रहस्य

अब आपको उपभोक्ता कुंजी और उपभोक्ता सीक्रेट मिलेगा, जिसका इस्तेमाल OAuth के लिए किया जाएगा ऐक्सेस टोकन.

  1. पक्का करें कि nigel_app पेज दिखाया गया हो. अगर ऐसा नहीं है, तो ऐप्लिकेशन पेज (पब्लिश करें > ऐप्लिकेशन) पर जाकर, nigel_app पर.
  2. nigel_app पेज पर, कुंजी में दिखाएं पर क्लिक करें और सीक्रेट कॉलम में. ध्यान दें कि कुंजी/सीक्रेट "helloworld_oauth2-Product" से जुड़ा जिसे अपने-आप बनाया गया था .

  3. कुंजी और सीक्रेट को चुनें और कॉपी करें. उन्हें कुछ समय के लिए चिपकाएं टेक्स्ट फ़ाइल है. बाद के चरण में उनका इस्तेमाल किया जा सकता है. एपीआई प्रॉक्सी को कॉल किया जा सकता है इन क्रेडेंशियल को किसी OAuth ऐक्सेस टोकन के लिए एक्सचेंज करें.

अपना आईपी पता पाने के लिए, एपीआई को कॉल करके देखें (असफल!)

किक के लिए, उस सुरक्षित एपीआई प्रॉक्सी को कॉल करने की कोशिश करें जो आपका आईपी पता वापस करता है इससे पहले ही अपने कारोबार के हिसाब से name@yourcompany.com जैसा कोई ईमेल पता बनाएं. अपने Edge को बदलकर, किसी टर्मिनल विंडो में यहां दिए गए cURL निर्देश को एक्ज़ीक्यूट करें संगठन का नाम. यूआरएल में test शब्द आपका है संगठन का टेस्ट एनवायरमेंट हो जाता है. यह वह एनवायरमेंट है जिस पर आपने प्रॉक्सी डिप्लॉय की हैं. प्रॉक्सी बेसपाथ /hellooauth2 है, जो वही बेसपाथ है जिसे आपने प्रॉक्सी बनाते समय तय किया था. ध्यान दें कि आप कॉल में OAuth ऐक्सेस टोकन पास नहीं किया जा सकता.

curl https://ORG_NAME-test.apigee.net/hellooauth2

क्योंकि एपीआई प्रॉक्सी में, OAuth v2.0 ऐक्सेस टोकन की पुष्टि करें नीति मौजूद है अनुरोध में मान्य OAuth टोकन की जांच करने से पहले, नीचे दी गई शर्तों के मुताबिक कॉल पूरा नहीं होगा संदेश:

{"fault":{"faultstring":"Invalid access token","detail":{"errorcode":"oauth.v2.InvalidAccessToken"}}}

इस मामले में, कोई गड़बड़ी है! इसका मतलब है कि आपका एपीआई प्रॉक्सी ज़्यादा सुरक्षित है. सिर्फ़ भरोसेमंद जिन ऐप्लिकेशन के पास मान्य OAuth ऐक्सेस टोकन है वे इस एपीआई को कॉल कर सकते हैं.

OAuth ऐक्सेस टोकन पाना

अब हम कमाई करने के लिए बड़े पैमाने पर काम कर रहे हैं. आप डिजिटल बटन का इस्तेमाल शुरू करने वाले हैं, और टेक्स्ट फ़ाइल में कॉपी और पेस्ट किया जा सकता है और उन्हें OAuth ऐक्सेस टोकन से एक्सचेंज किया जा सकता है. अब आप आपने जिस एपीआई सैंपल प्रॉक्सी को इंपोर्ट किया है उस पर एपीआई कॉल करने जा रहा है, oauth, जो एपीआई ऐक्सेस टोकन जनरेट करेगा.

उस कुंजी और सीक्रेट का इस्तेमाल करके, नीचे दिया गया cURL कॉल करें (ध्यान दें कि प्रोटोकॉल https), अपने Edge संगठन का नाम, अपनी कुंजी, और अपने सीक्रेट जहां यह दिखाया गया है:

curl -X POST -H "Content-Type: application/x-www-form-urlencoded" \
"https://ORG_NAME-test.apigee.net/oauth/client_credential/accesstoken?grant_type=client_credentials" \
-d "client_id=CLIENT_KEY&client_secret=CLIENT_SECRET"

ध्यान दें कि यदि आप कॉल करने के लिए Postman जैसे क्लाइंट का उपयोग कर रहे हैं, तो client_id और client_secret, इसका मुख्य हिस्सा हैं अनुरोध किया गया है और x-www-form-urlencoded होना चाहिए.

आपको इस तरह का जवाब मिलेगा:

{
  "issued_at" : "1466025769306",
  "application_name" : "716bbe61-f14a-4d85-9b56-a62ff8e0d347",
  "scope" : "",
  "status" : "approved",
  "api_product_list" : "[helloworld_oauth2-Product]",
  "expires_in" : "3599", //--in seconds
  "developer.email" : "nigel@example.com",
  "token_type" : "BearerToken",
  "client_id" : "xNnREu1DNGfiwzQZ5HUN8IAUwZSW1GZW",
  "access_token" : "GTPY9VUHCqKVMRB0cHxnmAp0RXc0",
  "organization_name" : "myOrg",
  "refresh_token_expires_in" : "0", //--in seconds
  "refresh_count" : "0"
}

आपको अपना OAuth ऐक्सेस टोकन मिल गया है! access_token की वैल्यू (कोटेशन मार्क के बिना) को कॉपी करें और इसे अपनी टेक्स्ट फ़ाइल में चिपकाएं. कुछ ही देर में इसका इस्तेमाल किया जा सकेगा.

अभी क्या हुआ?

यह याद रखें कि जब आपने पिछले चरण में उस कंडिशनल फ़्लो को देखा था oauth प्रॉक्सी, वह है जो कहता है कि अगर संसाधन यूआरआई /accesstoken को निष्पादित करने के लिए और अनुरोध क्रिया POST है क्या GenerateAccessTokenClient OAuth की ऐसी नीति है जो ऐक्सेस टोकन जनरेट करती है? आपका CURL निर्देश उन शर्तों को पूरा करता है, इसलिए OAuth नीति लागू की गई. इससे आपके ग्राहक कुंजी की पुष्टि हो गई है और उन्हें एक OAuth टोकन में बदल दिया है जो 1 घंटे में खत्म हो जाता है.

एपीआई को ऐक्सेस टोकन के साथ कॉल करें (हो गया!)

अब आपके पास ऐक्सेस टोकन है, तो इसका इस्तेमाल एपीआई प्रॉक्सी को कॉल करने के लिए किया जा सकता है. बनाएं cURL कॉल आ रहा है. अपने Edge संगठन के नाम और ऐक्सेस टोकन की जगह कोई दूसरा नाम डालें.

curl https://ORG_NAME-test.apigee.net/hellooauth2 -H "Authorization: Bearer TOKEN"

अब आपको उस एपीआई प्रॉक्सी को कॉल आ जाएगा जो आपका आईपी पता दिखाता है. उदाहरण के लिए:

{"ip":"::ffff:192.168.14.136"}

इस एपीआई कॉल को करीब एक घंटे तक दोहराया जा सकता है. इसके बाद, ऐक्सेस टोकन की समयसीमा खत्म होने वाली है. एक घंटे बाद कॉल करने के लिए, आपको पिछले चरण देखें.

बधाई हो! आपने एपीआई प्रॉक्सी बनाया है और उसे सुरक्षित करने के लिए, किसी मान्य कॉल में OAuth ऐक्सेस टोकन को शामिल किया जाएगा.

मिलते-जुलते विषय