बेहतर OAuth 2.0 विषय

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

तीसरे पक्ष के OAuth टोकन का इस्तेमाल करना

तीसरे पक्ष के OAuth टोकन इस्तेमाल करना लेख पढ़ें.

एक से ज़्यादा कॉलबैक यूआरएल तय करना

अनुमति देने के लिए ऑथराइज़ेशन कोड का इस्तेमाल करते समय, डेवलपर ऐप्लिकेशन रजिस्टर करते समय आपको कॉलबैक यूआरएल बताना होगा. कॉलबैक यूआरएल आम तौर पर, उस ऐप्लिकेशन का यूआरएल होता है जिसे क्लाइंट ऐप्लिकेशन की ओर से ऑथराइज़ेशन कोड पाने के लिए चुना जाता है. इसके अलावा, इस यूआरएल स्ट्रिंग का इस्तेमाल पुष्टि करने के लिए किया जाता है. क्लाइंट को यह यूआरएल, Apigee Edge को तब भेजना होता है, जब वह अनुमति कोड और ऐक्सेस टोकन का अनुरोध कर रहा हो. साथ ही, redirect_uri पैरामीटर, रजिस्टर किए गए पैरामीटर से मेल खाना चाहिए. ऐक्सेस टोकन और अनुमति कोड का अनुरोध करना भी देखें.

उदाहरण के लिए:

http://myorg-test.apigee.net/weather/oauth/authorizationcode?client_id=123456&response_type=code&redirect_uri=http://example.com/callback&scope=scope1%20scope2&state=abc

एक प्रॉक्सी ऐप्लिकेशन में कई कॉलबैक यूआरएल तय करने का एक उदाहरण यहां दिया गया है. उदाहरण के लिए, आपको एक से ज़्यादा डोमेन के लिए पुष्टि करनी पड़ सकती है. उदाहरण के लिए:

  • http://myexample.com/callback
  • http://myexample.uk/callback
  • http://myexample.ja/callback

जब कोई डेवलपर ऐप्लिकेशन रजिस्टर किया जाता है, तब Edge में एक से ज़्यादा कॉलबैक यूआरएल तय करने या वाइल्डकार्ड वर्णों का इस्तेमाल करने की सुविधा काम नहीं करती. इस इस्तेमाल के उदाहरण को पूरा करने के लिए, डेवलपर ऐप्लिकेशन रजिस्टर करते समय खाली कॉलबैक यूआरएल तय किया जा सकता है. इसके बाद, JavaScript नीति में एक लॉजिक डाला जा सकता है, ताकि आने वाले रीडायरेक्ट यूआरआई की पुष्टि की जा सके.

GenerateAuthCode ऑपरेशन के लिए, डिफ़ॉल्ट तौर पर टोकन वापस पाने के तरीके में बदलाव करना

डिफ़ॉल्ट रूप से, OAuthV2 नीति का GenerateAuthCode ऑपरेशन, कॉलबैक यूआरएल पर 302 रीडायरेक्ट दिखाता है. इसमें ?code क्वेरी पैरामीटर होता है, जिसमें ऑथराइज़ेशन कोड होता है.

कुछ मामलों में, आपको इस व्यवहार में बदलाव करना पड़ सकता है. उदाहरण के लिए, आपको कोड वाले स्ट्रक्चर्ड JSON के साथ 200 रिस्पॉन्स दिखाना पड़ सकता है.

इस इस्तेमाल के उदाहरण को पूरा करने का एक तरीका यह है कि OAuthV2 नीति की GenerateResponse प्रॉपर्टी को false पर सेट किया जाए. वैरिएबल oauthv2authcode.{policy_name}.code से ऑथराइज़ेशन कोड की वैल्यू पाने के लिए, ExtractVariable नीति का इस्तेमाल करें. इसके बाद, AssignMessage नीति का इस्तेमाल करके, 200 स्टेटस वाले JSON पेलोड में कोड वापस भेजा जा सकता है.

ऐप्लिकेशन के असली उपयोगकर्ता की सहमति की ऑडिट करना

आपको यह पुष्टि करनी पड़ सकती है कि ऐप्लिकेशन के किसी एंड यूज़र ने ऐप्लिकेशन को अनुमति दी है. इसके लिए, Apigee Edge Audit API का इस्तेमाल किया जा सकता है.

आउटबाउंड OAuth का सैंपल

GitHub पर Apigee api-platform-samples रिपॉज़िटरी में, outbound-oauth सैंपल देखें. आपके पास सैंपल को क्लोन करने, उसे डिप्लॉय करने, और चलाने का विकल्प होता है. यह सैंपल, ट्वीट का अनुवाद करने के लिए Microsoft Azure Translator API का इस्तेमाल करता है. इसके लिए, यह OAuth ऐक्सेस टोकन पाने के लिए आउटबाउंड कॉल करता है. इसके बाद, एपीआई सेवाओं की कैश मेमोरी में सेव करने की नीतियों का इस्तेमाल करके, टोकन को कैश मेमोरी में सेव करता है. साथ ही, हर बार आउटबाउंड कॉल करने पर, कैश मेमोरी में सेव किए गए टोकन का फिर से इस्तेमाल करता है. इसमें, एपीआई प्रॉक्सी को चालू करने के लिए इस्तेमाल किया जाने वाला डेमोंस्ट्रेशन ब्राउज़र ऐप्लिकेशन भी शामिल है.