आपको Apigee Edge दस्तावेज़ दिख रहा है.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
इस पेज पर जाएं
Apigee X दस्तावेज़. जानकारी
इस सेक्शन में बताया गया है कि असली उपयोगकर्ता आईडी, ऐप्लिकेशन आईडी या दोनों का इस्तेमाल करना ज़रूरी है. असली उपयोगकर्ता आईडी सुविधा के लिए खास सेटअप की ज़रूरत है, जैसा कि इसमें बताया गया है विषय. असली उपयोगकर्ता से हमारा मतलब उस ऐप्लिकेशन के उपयोगकर्ता से है जो एपीआई को कॉल कर रहा है.
असली उपयोगकर्ता आईडी का ऐक्सेस कब चालू करना चाहिए
कभी-कभी, यूज़र आईडी को ऐक्सेस टोकन में सेव करना मददगार होता है. असली यूज़र आईडी का ऐक्सेस चालू करना सुविधा को सिर्फ़ तभी उपलब्ध कराएं, जब आपके पास इसके इस्तेमाल का कोई उदाहरण हो. उदाहरण के लिए:
- आपकी वेबसाइट या ऐप्लिकेशन के लिए एक ऐसी सुविधा जिससे उपयोगकर्ता यह देख सकते हैं कि उनके पास तीसरे पक्ष के कौनसे ऐप्लिकेशन हैं साथ ही, इन ऐप्लिकेशन का ऐक्सेस वापस लेने का विकल्प भी दिया जा सके.
- यह एक सुविधा है, जो किसी अधिकृत उपयोगकर्ता को किसी खास डेवलपर ऐप्लिकेशन के लिए.
OAuth ऐक्सेस टोकन के बारे में जानकारी
ऐप्लिकेशन आईडी, OAuth ऐक्सेस टोकन में अपने-आप जुड़ जाते हैं. इसलिए, टोकन चालू करने के बाद जैसा कि नीचे बताया गया है, तो आपके पास ऐप्लिकेशन आईडी के ज़रिए ऐक्सेस टोकन रद्द करने का विकल्प होता है.
असली उपयोगकर्ता आईडी से OAuth 2.0 ऐक्सेस टोकन पाने और रद्द करने के लिए, असली उपयोगकर्ता का आईडी मौजूद होना चाहिए को भी ऐक्सेस किया जा सकता है. किसी मौजूदा खाते में असली यूज़र आईडी जोड़ने का तरीका नीचे बताया गया है टोकन.
डिफ़ॉल्ट रूप से, जब Edge OAuth 2.0 ऐक्सेस टोकन जनरेट करता है, तब टोकन में दिखने वाला फ़ॉर्मैट होता है नीचे दिया गया है:
{ "issued_at" : "1421847736581", "application_name" : "a68d01f8-b15c-4be3-b800-ceae8c456f5a", "scope" : "READ", "status" : "approved", "api_product_list" : "[PremiumWeatherAPI]", "expires_in" : "3599", //--in seconds "developer.email" : "tesla@weathersample.com", "organization_id" : "0", "token_type" : "BearerToken", "client_id" : "k3nJyFJIA3p62DWOkLO6OJNi87GYXFmP", "access_token" : "7S22UqXGJDTuUADGzJzjXzXSaGJL", "organization_name" : "myorg", "refresh_token_expires_in" : "0", //--in seconds "refresh_count" : "0" }
निम्न पर ध्यान दें:
- application_name फ़ील्ड टोकन से जुड़े ऐप्लिकेशन का यूयूआईडी मौजूद होता है. अगर आपने डेटा वापस पाने और निरस्त करने की सुविधा को चालू किया है, तो OAuth 2.0 ऐक्सेस टोकन का इस्तेमाल करता है, तो यह वही ऐप्लिकेशन आईडी होगा जिसका इस्तेमाल किया जा रहा है.
- access_token फ़ील्ड में OAuth 2.0 ऐक्सेस टोकन की वैल्यू शामिल हो.
डिफ़ॉल्ट OAuth ऐक्सेस टोकन में, असली उपयोगकर्ता आईडी के लिए कोई फ़ील्ड नहीं है. डेटा वापस पाने की सुविधा चालू करने और असली उपयोगकर्ता आईडी से OAuth 2.0 ऐक्सेस टोकन को निरस्त करने पर, आपको OAuth 2.0 नीति को कॉन्फ़िगर करना होगा टोकन में यूज़र आईडी शामिल करने के लिए, जैसा कि नीचे बताया गया है. ध्यान दें कि अगर ऐप्लिकेशन आईडी से OAuth 2.0 ऐक्सेस टोकन को वापस पाना या रद्द करना है, तो इसे चालू करने की कोई ज़रूरत नहीं है असली यूज़र आईडी से ऐक्सेस करने की सुविधा मिलती है.
असली उपयोगकर्ता आईडी को टोकन बनाने वाले एंडपॉइंट में पास किया जाता है. असली उपयोगकर्ता के आईडी को क्वेरी पैरामीटर, फ़ॉर्म पैरामीटर या (जैसा कि इस विषय में बाद में बताया गया है). असली उपयोगकर्ता को शामिल करने के लिए Edge कॉन्फ़िगर करने के बाद टोकन में आईडी होता है, तो इसे app_enduser फ़ील्ड के रूप में शामिल किया जाता है, जैसा कि नीचे दिखाया गया है:
{ "issued_at" : "1421847736581", "application_name" : "a68d01f8-b15c-4be3-b800-ceae8c456f5a", "scope" : "READ", "app_enduser" : "6ZG094fgnjNf02EK", "status" : "approved", "api_product_list" : "[PremiumWeatherAPI]", "expires_in" : "3599", //--in seconds "developer.email" : "tesla@weathersample.com", "organization_id" : "0", "token_type" : "BearerToken", "client_id" : "k3nJyFJIA3p62DWOkLO6OJNi87GYXFmP", "access_token" : "7S22UqXGJDTuUADGzJzjXzXSaGJL", "organization_name" : "myorg", "refresh_token_expires_in" : "0", //--in seconds "refresh_count" : "0" }
वापस लाने और वापस लेने की प्रक्रिया को पूरा करने वाले एपीआई कॉल करने का तरीका जानने के लिए, यह देखें ये स्मार्ट दस्तावेज़ फ़ॉलो कर रहे हैं:
- OAuth2 का ऐक्सेस रद्द करें असली उपयोगकर्ता या ऐप्लिकेशन आईडी के हिसाब से टोकन
- OAuth2 का ऐक्सेस पाएं असली उपयोगकर्ता या ऐप्लिकेशन आईडी के हिसाब से टोकन
इसके हिसाब से OAuth 2.0 टोकन का ऐक्सेस चालू करना यूज़र आईडी और ऐप्लिकेशन आईडी
यूज़र आईडी और ऐप्लिकेशन आईडी के हिसाब से OAuth 2.0 टोकन का ऐक्सेस चालू करने का तरीका, इस बात पर निर्भर करता है कि आपने किनारे:
क्लाउड-आधारित डिप्लॉयमेंट
Edge को क्लाउड पर डिप्लॉय करने का मतलब है कि ज़्यादातर कॉन्फ़िगरेशन, Apigee करते हैं. आपने लोगों तक पहुंचाया मुफ़्त में ऐक्सेस में यूज़र आईडी जोड़ने के लिए, सिर्फ़ OAuth 2.0 नीति को कॉन्फ़िगर करने की ज़िम्मेदारी है टोकन. ज़्यादा जानकारी के लिए, नीचे दी गई प्रोसेस देखें.
प्राइवेट क्लाउड डिप्लॉयमेंट के लिए एज
प्राइवेट क्लाउड (कंपनी की इमारत में) के लिए, Apigee Edge में, आपकी कंपनी इन चीज़ों के लिए पूरी तरह ज़िम्मेदार होगी कॉन्फ़िगरेशन. ज़्यादा जानकारी के लिए, ऑपरेशन और कॉन्फ़िगरेशन.
Apigee हाइब्रिड
यूज़र आईडी से OAuth 2.0 टोकन को ऐक्सेस करने की सुविधा डिफ़ॉल्ट रूप से चालू होती है. आपने लोगों तक पहुंचाया मुफ़्त में ऐक्सेस में यूज़र आईडी जोड़ने के लिए, सिर्फ़ OAuth 2.0 नीति को कॉन्फ़िगर करने की ज़िम्मेदारी है टोकन. ज़्यादा जानकारी के लिए, नीचे दी गई प्रक्रिया का पांचवां चरण देखें.
क्लाउड में ऐक्सेस करने की सुविधा देना
पहला चरण: संगठन को ये काम करने के लिए चालू करना इस सुविधा को बढ़ावा दें
यह सुविधा हर उस संगठन के लिए चालू होनी चाहिए जिस पर आपको यह सुविधा देनी है.
Apigee Edge की सहायता टीम से संपर्क करें, ताकि वह आपका संगठन अपडेट कर सके.
कदम 2: opsadmin और orgadmin भूमिकाओं को oauth2 संसाधन अनुमतियां देना
सिर्फ़ संगठन एडमिन और opsadmin की भूमिकाएं असाइन की जानी चाहिए
को वापस लाने (get
) और (put
) कॉल को वापस लेने की अनुमतियां
असली उपयोगकर्ता आईडी या ऐप्लिकेशन आईडी के आधार पर oauth2
संसाधन.
अनुमति पाएं
यह देखने के लिए कि get
और put
में कौनसी भूमिकाएं हैं, Resource API कॉल के लिए
oauth2
संसाधन के लिए अनुमतियां दी गई हैं.
अगर आपको कोई अनुमति जोड़नी या हटानी है, तो Apigee Edge की सहायता टीम से संपर्क करें उनसे अपडेट करने के लिए कहें.
कदम 3: अपने Cassandra नोड पर मौजूदा OAuth 2.0 ऐक्सेस टोकन कॉपी करें
Apigee सहायता टीम: इस टास्क में, मौजूदा OAuth 2.0 की कॉपी शामिल हैं प्रभावित संगठनों के ऐक्सेस टोकन को कॉपी करके, आपके Cassandra नोड में सेव किया जाएगा. यह प्रक्रिया आपके हर Apigee Edge पॉड के लिए, Cassandra नोड पर किया जाएगा. इससे, अपने सभी OAuth 2.0 ऐक्सेस टोकन, मौजूदा और मौजूदा, नए जनरेट किए गए.
चौथा चरण: अपने मैनेजमेंट सर्वर और मैसेज में oauth_max_search_limit प्रॉपर्टी जोड़ें प्रोसेसर
इस टास्क में, आपके मैनेजमेंट सर्वर की keymanagement.properties
फ़ाइलें और
इस प्रॉपर्टी को शामिल करने के लिए, मैसेज प्रोसेसर को अपडेट किया जाएगा: oauth_max_search_limit =
100
. 100
, Apigee की सुझाई गई वैल्यू है, लेकिन आपके हिसाब से इसे सेट किया जा सकता है.
इसे जोड़ने के लिए, Apigee Edge की सहायता टीम से संपर्क करें.
पांचवां चरण: असली उपयोगकर्ता आईडी वाले ऐक्सेस टोकन जनरेट करने के लिए, OAuth 2.0 नीति को कॉन्फ़िगर करें
ऐक्सेस टोकन जनरेट करने के लिए इस्तेमाल की जाने वाली OAuth 2.0 नीति को कॉन्फ़िगर करें, ताकि असली यूज़र आईडी को टोकन. ऐक्सेस टोकन में असली यूज़र आईडी शामिल करने पर, वापस लाने की प्रक्रिया पूरी की जा सकती है और असली यूज़र आईडी से रद्द करता है.
ऐक्सेस टोकन में असली यूज़र आईडी शामिल करने के लिए नीति कॉन्फ़िगर करने के लिए, आपको इनपुट वैरिएबल, जिसमें असली यूज़र आईडी शामिल है. <AppEndUser> टैग का इस्तेमाल करके वैरिएबल.
नीचे दी गई OAuth 2.0 नीति, GenerateAccessTokenClient नाम की मदद से, OAuth जनरेट करती है 2.0 ऐक्सेस टोकन. जोड़े गए <AppEndUser> टैग को बोल्ड में नोट करें:
<OAuthV2 async="false" continueOnError="false" enabled="true" name="GenerateAccessTokenClient"> <DisplayName>OAuth 2.0.0 1</DisplayName> <ExternalAuthorization>false</ExternalAuthorization> <Operation>GenerateAccessToken</Operation> <SupportedGrantTypes> <GrantType>client_credentials</GrantType> </SupportedGrantTypes> <GenerateResponse enabled="true"/> <GrantType>request.queryparam.grant_type</GrantType> <AppEndUser>request.header.appuserID</AppEndUser> <ExpiresIn>960000</ExpiresIn> </OAuthV2>
इसके बाद, पास किए गए OAuth 2.0 ऐक्सेस टोकन को जनरेट करने के लिए, नीचे दिए गए cURL कमांड का इस्तेमाल किया जा सकता है appuserID के तौर पर यूज़र आईडी हेडर:
curl -H "appuserID:6ZG094fgnjNf02EK" / https://myorg-test.apigee.net/oauth/client_credential/accesstoken?grant_type=client_credentials / -X POST / -d 'client_id=k3nJyFJIA3p62TKIkLO6OJNi87GYXFmP&client_secret=gk58jK5lIp943AY4'
इस उदाहरण में, appuserID को अनुरोध हेडर के तौर पर भेजा जाता है. आप किसी अनुरोध के तहत जानकारी को कई तरीकों से भेज सकते हैं. इसके लिए उदाहरण के लिए, आप ये काम कर सकते हैं:
- फ़ॉर्म पैरामीटर वैरिएबल का इस्तेमाल करें: request.formparam.appuserID
- असली यूज़र आईडी देने वाले फ़्लो वैरिएबल का इस्तेमाल करें