OAuth2 में "प्राधिकरण कोड" प्रवाह क्यों होता है जब "Implicit" प्रवाह इतनी अच्छी तरह से काम करता है?


263

रिसोर्स ओनर (यानी यूजर) ने एक्सेस देने के बाद "इम्प्लिक्ट" फ्लो के साथ क्लाइंट (एक ब्राउजर की संभावना) को एक्सेस टोकन मिलेगा।

हालांकि "प्राधिकरण कोड" प्रवाह के साथ, क्लाइंट (आमतौर पर एक वेब सर्वर) को रिसोर्स ओनर (यानी उपयोगकर्ता) द्वारा एक्सेस दिए जाने के बाद ही प्राधिकरण कोड मिलता है। उस प्राधिकरण कोड के साथ ग्राहक तब एपीआई टोकन पास करने के लिए एक और कॉल करता है जिससे एपीआई और क्लाइंट_सिट्रेट एक साथ टोकन प्राप्त करने के लिए प्राधिकरण कोड के साथ जुड़ जाते हैं। यहाँ सभी अच्छी तरह से वर्णित है

दोनों प्रवाह का सटीक एक ही परिणाम है: एक पहुंच टोकन। हालांकि, "इम्प्लांट" प्रवाह बहुत सरल है।

सवाल: "ऑथराइजेशन कोड" प्रवाह से परेशान क्यों होते हैं, जब "इम्प्लांटेड" फ्लो सीम ठीक होते हैं? वेबसर्वर के लिए "Implicit" का उपयोग क्यों नहीं किया जाता है?

यह प्रदाता और ग्राहक दोनों के लिए अधिक काम है।


4
बाहर की जाँच करें stackoverflow.com/questions/7522831/…
जॉन Nylander

1
धन्यवाद, इसे पहले ही पढ़ लें। हालांकि इस सवाल का जवाब नहीं है।
एरन वोस्त

1
अच्छा सवाल वास्तव में और शायद ही कभी जवाब दिया :) नीचे देखें।
निकोलस गार्नियर

1
@AronWoost मुझे लगता है कि आप सर्वर वेब ऐप और ब्राउज़र ऐप को गलत समझते हैं
onmyway133

@entropy यह मेरा सवाल था; क्यों सर्वर के लिए ब्राउज़र प्रवाह का उपयोग नहीं कर रहा है।
एरॉन वोस्ट

जवाबों:


292

tl; dr: सुरक्षा कारणों से यह सब होता है।

OAuth 2.0 इन दो मानदंडों को पूरा करना चाहता था:

  1. आप डेवलपर्स को गैर-HTTPS पुनर्निर्देशित URI का उपयोग करने की अनुमति देना चाहते हैं क्योंकि सभी डेवलपर्स के पास SSL सक्षम सर्वर नहीं है और यदि वे हमेशा इसे ठीक से कॉन्फ़िगर नहीं किया जाता है (गैर-स्व हस्ताक्षरित, विश्वसनीय एसएसएल प्रमाणपत्र, सिंक्रनाइज़ सर्वर घड़ी ...)।
  2. आप नहीं चाहते हैं कि हैकर्स अनुरोधों को रोककर पहुंच / ताज़ा टोकन चोरी करने में सक्षम हों।

नीचे दिए गए विवरण:

अंतर्निहित प्रवाह केवल सुरक्षा कारणों से ब्राउज़र वातावरण में संभव है:

में निहित प्रवाह पहुँच टोकन सीधे एक हैश टुकड़ा (नहीं के रूप में एक URL पैरामीटर) के रूप में पारित कर दिया है। हैश टुकड़ा के बारे में एक महत्वपूर्ण बात यह है कि, एक बार जब आप हैश टुकड़े से युक्त लिंक का पालन करते हैं, तो केवल ब्राउज़र ही हैश के टुकड़े के बारे में जानता है। ब्राउजर्स हैश के टुकड़े को सीधे गंतव्य वेबपेज (रीडायरेक्ट यूआरआई / क्लाइंट के वेबपेज) पर भेजेंगे। हैश के टुकड़े में निम्नलिखित गुण होते हैं:

  • वे HTTP अनुरोध का हिस्सा नहीं हैं, इसलिए उन्हें सर्वर द्वारा नहीं पढ़ा जा सकता है और इस वजह से उन्हें मध्यस्थ सर्वर / राउटर द्वारा इंटरसेप्ट नहीं किया जा सकता है (यह महत्वपूर्ण है)।
  • वे केवल ब्राउज़र पर मौजूद हैं - क्लाइंट साइड - इसलिए हैश टुकड़ा पढ़ने का एकमात्र तरीका पृष्ठ पर चलने वाले जावास्क्रिप्ट का उपयोग कर रहा है।

यह एक मध्यस्थ सर्वर से इंटरसेप्ट होने के जोखिम के बिना क्लाइंट को सीधे एक्सेस टोकन पास करना संभव बनाता है। इसके पास केवल संभावित ग्राहक पक्ष का विवरण है और एक्सेस टोकन का उपयोग करने के लिए जावास्क्रिप्ट रनिंग क्लाइंट साइड की आवश्यकता है।

निहित प्रवाह में सुरक्षा समस्याएं भी हैं जिन्हें वर्कअराउंड के लिए आगे तर्क की आवश्यकता होती है / उदाहरण के लिए बचें:

  • एक हमलावर को एक अलग वेबसाइट / ऐप पर उपयोगकर्ता से एक्सेस टोकन मिल सकता है (मान लीजिए कि वह दूसरी वेबसाइट / ऐप का मालिक है), तो उनकी वेबसाइट पर टोकन लॉग इन करें, और फिर उसे अपनी वेबसाइट पर URL पैराम के रूप में पास करें इसलिए आपकी वेबसाइट पर उपयोगकर्ता को प्रतिरूपित करना। इससे बचने के लिए आपको एक्सेस टोकन से जुड़ी क्लाइंट आईडी (उदाहरण के लिए Google के लिए आप tokeninfo समापन बिंदु का उपयोग कर सकते हैं) की जांच करने के लिए यह सुनिश्चित करने के लिए कि टोकन अपने स्वयं के क्लाइंट आईडी (यानी अपने स्वयं के ऐप द्वारा) के साथ जारी किया गया था या हस्ताक्षर की जांच करें यदि आप एक IDToken का उपयोग कर रहे हैं (लेकिन इसके लिए आपके ग्राहक की आवश्यकता है)।
  • यदि आपके स्वयं की संपत्ति (जिसे सेशन फिक्सेशन अटैक कहा जाता है) से ऑर्टिकल रिक्वेस्ट की उत्पत्ति नहीं हुई है, तो इससे बचने के लिए आप अपनी वेबसाइट से एक यादृच्छिक हैश जेनरेट करना चाहेंगे, इसे कुकी में सेव करेंगे और उसी हैश को राज्य के URL में पास करेंगे जब उपयोगकर्ता वापस आता है, तो आप अनुरोध करते हैं कि कुकी के साथ राज्य की जाँच करें और यह मेल खाना चाहिए।

में प्राधिकरण कोड प्रवाह यह क्योंकि URL पैरामीटर HTTP अनुरोध का हिस्सा है, इसलिए किसी भी मध्यस्थ सर्वर / रूटर है जिसके द्वारा आपके अनुरोध से होकर गुजरेगा (सैकड़ों हो सकता है) करने में सक्षम हो सकता है एक पहुँच एक URL पैरामीटर में सीधे टोकन पारित करने के लिए संभव नहीं है यदि आप एन-एन्क्रिप्टेड कनेक्शन (HTTPS) का उपयोग नहीं कर रहे हैं, तो एक्सेस टोकन को पढ़ें जो कि मैन-इन-द-बीच हमलों के रूप में जाना जाता है।

सीधे URL URL में पहुंच टोकन पास करना सिद्धांत रूप में संभव हो सकता है, लेकिन ऑर्किटेक्ट को यह सुनिश्चित करना होगा कि पुनर्निर्देशित यूआरआई टीएलएस एन्क्रिप्शन और 'विश्वसनीय' एसएसएल प्रमाणपत्र के साथ HTTPS का उपयोग कर रहा है (आमतौर पर एक प्रमाणपत्र प्राधिकरण से जो मुक्त नहीं है। यह सुनिश्चित करने के लिए कि गंतव्य सर्वर वैध है और HTTP अनुरोध पूरी तरह से एन्क्रिप्टेड है। सभी डेवलपर्स एक एसएसएल प्रमाणपत्र खरीदते हैं और अपने डोमेन पर एसएसएल को ठीक से कॉन्फ़िगर करते हैं, एक बहुत बड़ा दर्द होगा और यह जबरदस्त रूप से गोद लेगा। यही कारण है कि एक मध्यस्थ एक-बार-उपयोग "प्राधिकरण कोड" प्रदान किया जाता है कि केवल वैध रिसीवर विनिमय करने में सक्षम होगा (क्योंकि आपको ग्राहक गुप्त की आवश्यकता है) और यह कोड अनपेक्षित लेनदेन पर अनुरोधों को बाधित करने वाले संभावित हैकर्स के लिए बेकार होगा। (क्योंकि वे डॉन '

आप यह भी तर्क दे सकते हैं कि निहित प्रवाह कम सुरक्षित है, संभावित हमलावर वैक्टर हैं जैसे डोमेन को रीडायरेक्ट करने पर डोमेन को खराब करना - उदाहरण के लिए क्लाइंट की वेबसाइट के आईपी पते को हाईजैक करके। यह एक कारण है कि अंतर्निहित प्रवाह केवल टोकन तक पहुंच प्राप्त करता है (जो कि सीमित समय के उपयोग के लिए माना जाता है) और कभी भी टोकन ताज़ा नहीं करते हैं (जो समय में असीमित हैं)। इस समस्या को दूर करने के लिए, मैं आपको सलाह देता हूं कि जब भी संभव हो, अपने वेबपेजों को एक HTTPS- सक्षम सर्वर पर होस्ट करें।


12
@AndyDufresne इन दोनों अनुरोधों को HTTPS (अनिवार्य) से अधिक किया जाना चाहिए क्योंकि वे OAuth सर्वर के लिए अनुरोध हैं जिन्हें केवल HTTPS का समर्थन करना है। यह केवल क्लाइंट / अनुरोधकर्ता सर्वर है जिसे HTTPS का समर्थन नहीं करना है, इसलिए केवल Auth CodeHTTP पर स्पष्ट रूप से भेजा जाता है। लेकिन Auth Codeक्लाइंट आईडी / सीक्रेट के बिना बेकार है। मूल रूप से OAuth कोड प्रवाह की बात यह है कि SSL-सक्षम सर्वर होने का भार OAuth प्रदाता (Google / Facebook आदि ...) पर है न कि APIs (आप, मैं) के उपयोगकर्ताओं पर।
निकोलस गार्नियर

5
ठीक है, अब मैं पालन करता हूं कि सामान्य HTTP पर ओवरऑल कोड पारित किया जा सकता है और सूँघने का जोखिम है। इसे वन टाइम यूज कोड बनाने और इसे एक्सेस टोकन के लिए एक्सचेंज करने के लिए क्लाइंट सीक्रेट को स्वीकार करते हुए, ऑथराइजेशन सर्वर मैन-इन-द-मिड अटैक को रोक सकता है। लेकिन क्या यह एक्सेस टोकन पर भी लागू नहीं होता है? चूंकि एपीआई का उपयोगकर्ता सादे HTTP पर हो सकता है, इसलिए हैकर द्वारा एक्सेस टोकन के जोखिम का जोखिम नहीं होगा? पुनश्च - मैं इस सूत्र के सक्रिय होने के कुछ समय बाद भी अवधारणा को समझाने में आपके प्रयासों की सराहना करता हूं। धन्यवाद !
एंडी डफ्रेसने

8
no pb :) एपीआई के अनुरोध - जो तब है जब एक्सेस टोकन को तार पर भेजा जाता है (अनुरोध को प्राधिकृत करने के लिए) - यह भी HTTPS अनिवार्य रूप से किया जाता है। सिद्धांत रूप में क्लाइंट को किसी भी समय सादे HTTP में एक्सेस टोकन ओवर-द-वायर नहीं भेजना चाहिए।
निकोलस गार्नियर

5
इस चरण में पहुँच टोकन क्लाइंट से संसाधन सर्वर के लिए HTTPS अनुरोध की प्रतिक्रिया का हिस्सा है। यह प्रतिक्रिया अभी भी एन्क्रिप्टेड है।
निकोलस गार्नियर

13
मूल रूप से अनुरोध जो क्लाइंट से संसाधन सर्वर में शुरू किए जाते हैं, HTTPS के माध्यम से किए जाते हैं (क्योंकि संसाधन स्वामी सर्वर को HTTPS का समर्थन करना है)। यह केवल अनुरोध है जो कहीं और क्लाइंट से शुरू किया जाता है जो HTTP पर किया जा सकता है (क्योंकि क्लाइंट सर्वर HTTPS का समर्थन नहीं कर सकता है)। उदाहरण के लिए, रीडायरेक्ट प्रवाह के दौरान होने वाले रीडायरेक्ट के बाद gant पृष्ठ पर उपयोगकर्ता अनुदान प्राधिकरण ब्राउज़र से क्लाइंट सर्वर के लिए शुरू किया गया रीडायरेक्ट होता है और HTTP में किया जा सकता है।
निकोलस गार्नियर

8

इंप्लिक्ट फ्लो पूरे प्रवाह को बहुत आसान बना देता है, लेकिन कम सुरक्षित भी
क्लाइंट एप्लिकेशन के रूप में, जो आमतौर पर एक ब्राउज़र के भीतर चलने वाले जावास्क्रिप्ट पर कम भरोसा किया जाता है, लंबे समय तक उपयोग के लिए कोई ताज़ा टोकन वापस नहीं किया जाता है।
आपको इस प्रवाह का उपयोग उन अनुप्रयोगों के लिए करना चाहिए जिन्हें उपयोगकर्ता के डेटा के लिए अस्थायी एक्सेस (कुछ घंटों) की आवश्यकता होती है।
जावास्क्रिप्ट क्लाइंट के लिए एक्सेस टोकन वापस करने का अर्थ यह भी है कि आपके ब्राउज़र-आधारित एप्लिकेशन को विशेष देखभाल करने की आवश्यकता है - एक्सएसएस अटैक्स के बारे में सोचें जो एक्सेस टोकन को अन्य सिस्टम में लीक कर सकता है।

https://labs.hybris.com/2012/06/05/oauth2-the-implicit-flow-aka-as-the-client-side-flow


मैं उम्मीद करूंगा कि जब कोई XSS भेद्यता है, तब भी प्राधिकरण कोड प्रवाह बहुत मदद नहीं करता है। लेकिन मैं इस बात से सहमत हूँ कि चूंकि इंप्लांट प्रवाह में जावास्क्रिप्ट तक पहुँच टोकन को कैसे मानकीकृत किया गया है (हैश टुकड़ा के रूप में), और अगर वेबसाइट में XSS भेद्यता है, तो एक हमले का निर्माण करना है जो URL हैश से एक्सेस टोकन पढ़ता है टुकड़ा काफी आसान है। प्राधिकरण कोड प्रवाह के साथ, दूसरी ओर, क्रॉस-साइट अनुरोध जालसाजी संभव हो सकती है।
मार्सेल

इसके अलावा, यह केवल क्रॉस-साइट स्क्रिप्टिंग के बारे में नहीं है। आपकी वेबसाइट में चलने वाली कोई भी जावास्क्रिप्ट लाइब्रेरी एक्सेस टोकन चुराने की कोशिश कर सकती है (उदाहरण के लिए थर्ड पार्टी सीडीएन लाइब्रेरी या ओपन सोर्स लाइब्रेरी जो आपके जावास्क्रिप्ट फ्रेमवर्क का उपयोग करती है)।
Marcel

2
जब हमारे पास कंटेंट सिक्योरिटी पॉलिसी हेडर और सब रिसोर्स इंटीग्रिटी (SRI) हैश है तो XSS कोई बड़ी समस्या नहीं है।
सेर्गेई

4

से OAuth कल्पना :

4.2। अधिरोपित अनुदान

अंतर्निहित अनुदान प्रकार का उपयोग एक्सेस टोकन प्राप्त करने के लिए किया जाता है (यह ताज़ा टोकन जारी करने का समर्थन नहीं करता है) और सार्वजनिक ग्राहकों के लिए एक विशेष पुनर्निर्देशन URI संचालित करने के लिए जाना जाता है। ये क्लाइंट आमतौर पर एक स्क्रिप्ट जैसे जावास्क्रिप्ट का उपयोग करके ब्राउज़र में कार्यान्वित किए जाते हैं।

चूंकि यह एक पुनर्निर्देशन-आधारित प्रवाह है, इसलिए क्लाइंट को संसाधन सर्वर के उपयोगकर्ता-एजेंट (आमतौर पर एक वेब ब्राउज़र) के साथ बातचीत करने में सक्षम होना चाहिए और प्राधिकरण सर्वर से आने वाले अनुरोध (पुनर्निर्देशन के माध्यम से) प्राप्त करने में सक्षम होना चाहिए।

प्राधिकरण कोड अनुदान प्रकार के विपरीत, जिसमें ग्राहक प्राधिकरण के लिए अलग-अलग अनुरोध करता है और एक्सेस टोकन के लिए, क्लाइंट को प्राधिकरण अनुरोध के परिणामस्वरूप एक्सेस टोकन प्राप्त होता है।

निहित अनुदान प्रकार में ग्राहक प्रमाणीकरण शामिल नहीं है, और संसाधन स्वामी की उपस्थिति और पुनर्निर्देशन URI के पंजीकरण पर निर्भर करता है। क्योंकि पहुँच टोकन को पुनर्निर्देशित URI में एन्कोड किया गया है, यह संसाधन स्वामी और उसी डिवाइस पर रहने वाले अन्य अनुप्रयोगों के संपर्क में हो सकता है।

तो हम क्या विचार कर सकते हैं:

  1. यह सार्वजनिक OAuth के लिए है अर्थात जब ग्राहक को पंजीकृत होने की आवश्यकता नहीं है और उसके पास अपने ग्राहक रहस्य नहीं हैं। लेकिन किस सर्वर पर सर्वर रीडायरेक्ट url की जाँच करता है और यह वास्तव में सुरक्षा के लिए पर्याप्त है।

  2. एक्सेस टोकन ब्राउजर के एड्रेस बार में होता है इसलिए उपयोगकर्ता यूआरएल को कॉपी कर सकता है और किसी और को भेज सकता है और यह उपयोगकर्ता के रूप में भी लॉग इन हो जाता है अर्थात यह सत्र निर्धारण जैसा कुछ है। लेकिन ब्राउज़र url से हैश के टुकड़े को हटाने के लिए इतिहास को बदलने के साथ एक अतिरिक्त रीडायरेक्ट करता है। किसी हैकर के लिए HTTP ट्रैफ़िक सूँघ कर एक्सेस टोकन चुरा लेना भी संभव है लेकिन HTTPS द्वारा इसे आसानी से संरक्षित किया जा सकता है। कुछ दुर्भावनापूर्ण ब्राउज़र एक्सटेंशन में एड्रेस बार से यूआरएल तक पहुंच हो सकती है लेकिन अंततः टूटे हुए HTTPS सर्टिफिकेट जैसी खराब स्थिति है। और यहां तक ​​कि प्रामाणिक कोड प्रवाह यहां मदद नहीं कर सकता। तो मैं जो देख सकता हूं वह यह है कि url के हैश टुकड़े के माध्यम से टोकन पहुंचना बिल्कुल सुरक्षित है।

  3. एचटीटीपीएस का उपयोग करते समय अल्पकालिक अभिगम टोकन और ताज़ा टोकन का पृथक्करण बेकार है और कच्चे एचटीटीपी पर भी उपयोगी नहीं है। लेकिन तथ्य यह है कि निहित प्रवाह के माध्यम से ग्राहक ताज़ा टोकन प्राप्त नहीं कर सकता है यह भी बकवास है।

इस प्रकार मुझे लगता है कि हमें एक नया अनुदान प्रवाह "सुरक्षित निहित" पेश करना चाहिए जो कि https पर सख्ती से काम करता है, ताज़ा टोकन की अनुमति देता है (या हमें उन्हें पूरी तरह से छुटकारा देना चाहिए), और प्रामाणिक कोस अनुदान प्रवाह से बेहतर है


3

हमारे लिए, हमारे ग्राहक एक बार अपने फोन पर हमारे ऐप के साथ प्रमाणित करने में सक्षम होना चाहते थे, और एक बार में हफ्तों तक लॉग इन नहीं करना पड़ता था। कोड प्रवाह के साथ, आपको अपने पहुँच टोकन के साथ एक ताज़ा टोकन मिलता है। अंतर्निहित प्रवाह आपको एक ताज़ा टोकन नहीं देता है। पहुँच टोकन में अपेक्षाकृत कम समय सीमा समाप्त होती है, लेकिन ताज़ा टोकन 90 दिनों की समाप्ति तक हो सकते हैं। जब भी एक्सेस टोकन समाप्त हो जाता है, क्लाइंट और सर्वर कोड उस रिफ्रेश टोकन का उपयोग कर सकते हैं, ताकि किसी भी उपयोगकर्ता के हस्तक्षेप के बिना, सभी दृश्यों के पीछे एक नया एक्सेस टोकन प्लस रिफ्रेश टोकन प्राप्त हो सके। एक ताज़ा टोकन केवल एक बार उपयोग किया जा सकता है। आप इसे इंप्लांट फ़्लो के साथ नहीं कर सकते। यदि आप Implicit Flow का उपयोग कर रहे हैं, और आपका उपयोगकर्ता एक घंटे से अधिक समय तक आपके ऐप के साथ सहभागिता नहीं करता है, तो उन्हें वापस आने पर लॉग इन करना होगा। यह हमारे उपयोग के मामले में स्वीकार्य नहीं था,

यह काम करता है और सुरक्षित है क्योंकि ताज़ा टोकन रद्द किए जा सकते हैं। यदि कोई ग्राहक कहता है कि उन्होंने अपना फोन या अपना लैपटॉप खो दिया है या कोई हैकर उनके डेस्कटॉप पर आ गया है, तो हम बस उस उपयोगकर्ता के लिए सभी ताज़ा टोकन बदल सकते हैं। पूरी प्रक्रिया के दौरान, कोई भी व्यक्तिगत रूप से पहचान योग्य जानकारी (पीआईआई) कभी भी हमारे कोड को नहीं छूती है - अर्थात् उपयोगकर्ता का पासवर्ड।

कोड प्रवाह बहुत बढ़िया है, लेकिन यह अधिक काम करता है। एमएस के पास वर्तमान में इसे संभालने के लिए एक कोणीय पुस्तकालय नहीं है, इसलिए मुझे एक लिखना था। यदि आप रुचि रखते हैं तो मैं इसमें आपकी मदद कर सकता हूं।


2

मेरा उत्तर है: आप वेब-ऐप सर्वर के साथ एक सुरक्षित और सरल तरीके से इंप्लाट प्रवाह को लागू नहीं कर सकते।

वेब-एप्लिकेशन प्राधिकरण प्रक्रिया में उपयोगकर्ता इंटरैक्शन शामिल है इसलिए प्रमाणीकरण सर्वर को उपयोगकर्ता के प्रमाणीकरण और सहमति के बाद उपयोगकर्ता के ब्राउज़र को वेब-ऐप के लक्ष्य पृष्ठ पर वापस भेज देना चाहिए (मैं कुछ बातचीत के बाद उपयोगकर्ता को वेब-ऐप पर वापस जाने का कोई अन्य तरीका नहीं देखता हूं प्रमाणीकरण सर्वर)।

तो टोकन को रीडायरेक्ट URL, राइट का उपयोग करके वेब-ऐप को पास किया जाना चाहिए?

जैसा कि @NicolasGarnier ने अपने उत्तर और टिप्पणियों में बताया कि URL के टुकड़े के रूप में टोकन को पारित करने का कोई तरीका नहीं है - यह वेब-ऐप सर्वर तक नहीं पहुंचेगा।

और रीडायरेक्ट URL के URL परम के रूप में टोकन HTTPS के तहत भी असुरक्षित होगा: यदि लक्ष्य पृष्ठ (इसे "ग्रीटिंग पेज" होने दें) में संसाधन (चित्र, स्क्रिप्ट आदि) हैं, तो यह संसाधन श्रृंखला के माध्यम से ब्राउज़र द्वारा प्राप्त किया जाएगा। HTTP (एस) अनुरोध (जिनमें से प्रत्येक में Refererएचटीटीपी हेडर होता है जिसमें यूआरएल के मापदंडों सहित "ग्रीटिंग पेज" का सटीक URL होता है)। इस तरह टोकन लीक हो सकता है।

तो ऐसा लगता है कि रीडायरेक्ट URL में टोकन पास करने का कोई तरीका नहीं है। इसलिए आपको दूसरी कॉल की आवश्यकता है (या तो ऑथेंटिकेशन सर्वर से क्लाइंट तक (लेकिन किस URL पर?) या क्लाइंट से ऑथेंटिकेशन सर्वर (ऑथोराइजेशन कोड फ्लो में दूसरी कॉल) के लिए

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.