सामान्य OAuth2 अनुदान प्रकार
Authorization Code और Client Credentials जैसे विभिन्न अनुदान प्रकारों तथा उनके उपयुक्त उपयोग के मामलों का अध्ययन करें।
सामान्य OAuth2 अनुदान प्रकार, CoddyKit पर Spring Security 6 और JWT प्रमाणीकरण का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Spring Security 6 और JWT प्रमाणीकरण सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Spring Security 6 और JWT प्रमाणीकरण पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
OAuth2 Grant Types क्या हैं?
स्वागत है! OAuth2 में, Grant Type (या 'Authorization Grant') वह विधि है जिसका उपयोग कोई अनुप्रयोग प्राधिकरण सर्वर से access token प्राप्त करने के लिए करता है।
इसे संरक्षित संसाधनों तक पहुँचने की अनुमति प्राप्त करने की विशिष्ट प्रक्रिया या बातचीत के प्रोटोकॉल के रूप में समझें।
अलग-अलग Grant Types क्यों?
आप सोच सकते हैं कि टोकन प्राप्त करने का केवल एक ही तरीका क्यों नहीं है। अलग-अलग अनुप्रयोगों की सुरक्षा आवश्यकताएँ और क्षमताएँ अलग होती हैं:
- बैकएंड वाले वेब अनुप्रयोग
- ब्राउज़र में चलने वाले एकल-पृष्ठ अनुप्रयोग (SPA)
- मोबाइल अनुप्रयोग
- कमांड-लाइन उपकरण
- सर्वर-से-सर्वर संचार
हर परिस्थिति के लिए उसके अनुरूप सुरक्षित तरीका आवश्यक होता है।
Authorization Code Grant
Authorization Code Grant गोपनीय क्लाइंट के लिए सबसे सामान्य और अनुशंसित Grant Type है, विशेष रूप से बैकएंड वाले पारंपरिक वेब अनुप्रयोगों के लिए।
इसे सबसे सुरक्षित माना जाता है, क्योंकि access token सीधे उपयोगकर्ता के ब्राउज़र में कभी प्रकट नहीं होता।
Auth Code Flow: उपयोगकर्ता का प्राधिकरण
Authorization Code प्रवाह सामान्यतः इस प्रकार शुरू होता है:
- उपयोगकर्ता आपके अनुप्रयोग में 'X से लॉग इन करें' पर क्लिक करता है।
- आपका अनुप्रयोग उपयोगकर्ता के ब्राउज़र को Authorization Server (जैसे Google, GitHub) पर भेज देता है।
- उपयोगकर्ता लॉग इन करके आपके अनुप्रयोग को अनुमति देता है।
- इसके बाद Authorization Server उपयोगकर्ता के ब्राउज़र को एक अस्थायी authorization code के साथ आपके अनुप्रयोग पर वापस भेज देता है।
Auth Code Flow: टोकन का आदान-प्रदान
authorization code प्राप्त होने के बाद:
- आपके अनुप्रयोग का बैकएंड authorization code प्राप्त करता है।
- इसके बाद वह इस code का (अपने client ID और client secret के साथ) Authorization Server के token endpoint से सीधे सुरक्षित रूप से आदान-प्रदान करता है। यह सर्वर-से-सर्वर संचार होता है।
- Authorization Server code और क्लाइंट की साख का सत्यापन करता है, फिर एक access token (और अक्सर refresh token) जारी करता है।
Client Credentials Grant
Client Credentials Grant का उपयोग मशीन-से-मशीन संचार के लिए किया जाता है, जहाँ कोई अंतिम उपयोगकर्ता शामिल नहीं होता।
क्लाइंट (आपका अनुप्रयोग या सेवा) अपनी ओर से कार्य करता है और access token प्राप्त करने के लिए सीधे Authorization Server के सामने अपना प्रमाणीकरण करता है।
Client Credentials प्रवाह
Client Credentials का प्रवाह अधिक सरल होता है:
- आपका क्लाइंट अनुप्रयोग (जैसे कोई पृष्ठभूमि सेवा) अपना client ID और client secret सीधे Authorization Server के token endpoint पर भेजता है।
- Authorization Server इन साखों का सत्यापन करता है।
- यदि वे मान्य हों, तो Authorization Server सीधे आपके क्लाइंट को access token जारी करता है।
उपयोगकर्ता की सहभागिता या ब्राउज़र पर पुनर्निर्देशन की आवश्यकता नहीं होती।
Client Credentials का प्रयोग
एक ऐसी बैकएंड सेवा की कल्पना करें जिसे डेटा प्राप्त करने के लिए किसी बाहरी API से प्रश्न करना है। उसे उपयोगकर्ता के लॉग इन करने की आवश्यकता नहीं है; उसे केवल 'स्वयं' के रूप में पहुँच चाहिए।
वह access token प्राप्त करने के लिए Client Credentials प्रवाह का उपयोग करेगी:
curl -X POST -u "my-client-id:my-client-secret" \
"https://auth.example.com/oauth/token" \
-d "grant_type=client_credentials"Device Code Grant
Device Code Grant ऐसे उपकरणों के लिए बनाया गया है जिनमें इनपुट की सीमाएँ होती हैं, जैसे स्मार्ट टीवी, IoT उपकरण या कमांड-लाइन उपकरण, जो आसानी से वेब ब्राउज़र चला नहीं सकते या पुनर्निर्देशन स्वीकार नहीं कर सकते।
यह प्राधिकरण प्रक्रिया को अलग कर देता है, जिससे उपयोगकर्ता किसी अलग और अधिक सक्षम उपकरण (जैसे स्मार्टफ़ोन या कंप्यूटर) पर उस उपकरण को अधिकृत कर सकता है।
Device Code प्रवाह
Device Code प्रवाह का सरल रूप इस प्रकार है:
- उपकरण Authorization Server से एक device code और user verification URI का अनुरोध करता है।
- उपकरण उपयोगकर्ता को URI और एक छोटा code दिखाता है।
- उपयोगकर्ता अपने फ़ोन/PC पर URI खोलकर लॉग इन करता है और पहुँच देने के लिए code दर्ज करता है।
- इसी दौरान, उपकरण Authorization Server से बार-बार स्थिति पूछता रहता है। प्राधिकरण की पुष्टि होने पर उसे access token प्राप्त होता है।
Grant Type चुनौती
अब तक आपने जो सीखा है, उसके आधार पर उस बैकएंड सेवा के लिए कौन-सा OAuth2 Grant Type सबसे उपयुक्त है जिसे बिना किसी उपयोगकर्ता सहभागिता के किसी अन्य API तक पहुँच चाहिए?
पुनरावलोकन: Grant Types पर ध्यान
हमने प्रमुख OAuth2 Grant Types का अध्ययन किया: उपयोगकर्ता की सहभागिता वाले सुरक्षित वेब अनुप्रयोगों के लिए Authorization Code, सर्वर-से-सर्वर संचार के लिए Client Credentials, और इनपुट-सीमित उपकरणों के लिए Device Code।
हर Grant Type विशिष्ट सुरक्षा और उपयोग-सुविधा संबंधी आवश्यकताओं को पूरा करता है और अलग-अलग अनुप्रयोग परिस्थितियों के लिए सुरक्षित प्राधिकरण प्रवाह सुनिश्चित करता है।
एआई शिक्षक के साथ Java सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 12
- पाठ
- 48
अक्सर पूछे जाने वाले प्रश्न
क्या “सामान्य OAuth2 अनुदान प्रकार” पाठ निःशुल्क है?
हाँ — Spring Security 6 और JWT प्रमाणीकरण अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “सामान्य OAuth2 अनुदान प्रकार” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Spring Security 6 और JWT प्रमाणीकरण पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“सामान्य OAuth2 अनुदान प्रकार” में मैं क्या सीखूँगा?
Authorization Code और Client Credentials जैसे विभिन्न अनुदान प्रकारों तथा उनके उपयुक्त उपयोग के मामलों का अध्ययन करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Spring Security 6 और JWT प्रमाणीकरण का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Spring Security 6 और JWT प्रमाणीकरण शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Spring Security 6 और JWT प्रमाणीकरण शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।
“सामान्य OAuth2 अनुदान प्रकार” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Spring Security 6 और JWT प्रमाणीकरण पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Spring Security 6 और JWT प्रमाणीकरण पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- OAuth2 प्रोटोकॉल का परिचय
- OpenID Connect का परिचय
- सामान्य OAuth2 अनुदान प्रकार
- PKCE और सार्वजनिक क्लाइंट की सुरक्षा