OAuth2 और OpenID Connect का गहन अध्ययन · पाठ

OIDC के साथ Authorization Code Flow

सुरक्षित Authorization Code Flow लागू कीजिए, जिसे अब OIDC के साथ विस्तारित करके पहुँच टोकन के साथ ID Token भी लौटाया जाता है।

पाठ 1, कुल 4 में से11 चरण

OIDC के साथ Authorization Code Flow, CoddyKit पर OAuth2 और OpenID Connect का गहन अध्ययन का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह OAuth2 और OpenID Connect का गहन अध्ययन सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। OAuth2 और OpenID Connect का गहन अध्ययन पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

OIDC और Auth Code Flow का परिचय

स्वागत है! इस पाठ में हम OAuth2 के सुरक्षित Authorization Code Flow को OpenID Connect (OIDC) के साथ मिलाएँगे। इससे कोई अनुप्रयोग न केवल संसाधनों तक पहुँचने की अनुमति प्राप्त कर सकता है (OAuth2), बल्कि उपयोगकर्ता की पहचान सत्यापित भी कर सकता है (OIDC)।

इसे इस तरह समझिए: कुंजी रखने वाले व्यक्ति के लिए तिजोरी की कुंजी और वैध पहचान-पत्र, दोनों एक साथ मिल रहे हैं!

OIDC के साथ पहचान का अनुरोध करना

OIDC के साथ Authorization Code Flow का उपयोग करते समय आपका अनुप्रयोग (क्लाइंट) सबसे पहले Authorization Server को एक प्राधिकरण अनुरोध भेजता है। यह अनुरोध OAuth2 जैसा ही होता है, लेकिन इसमें OIDC के विशिष्ट पैरामीटर शामिल होते हैं।

  • response_type=code: यह निर्दिष्ट करता है कि हमें Authorization Code चाहिए।
  • scope=openid ...: इसमें OIDC अनुरोध का संकेत देने के लिए openid दायरा शामिल करना अत्यंत आवश्यक है।
  • nonce: रीप्ले हमलों को रोकने के लिए एक अद्वितीय स्ट्रिंग (वैकल्पिक, लेकिन अनुशंसित)।

आवश्यक `openid` दायरा

openid दायरा वह विशेष संकेत है जो Authorization Server को बताता है कि आप केवल सामान्य OAuth2 अनुरोध नहीं, बल्कि OpenID Connect अनुरोध कर रहे हैं।

यदि आपके अनुरोध के दायरे में openid नहीं है, तो Authorization Server इसे मानक OAuth2 प्रवाह मानेगा और नहीं जारी करेगा।

आप openid को profile, email जैसे अन्य मानक OAuth2 दायरों या कस्टम दायरों के साथ मिला सकते हैं।

`openid` से आगे: अधिक दायरे

यद्यपि openid अनिवार्य है, OIDC के अन्य विशिष्ट दायरे आपको उपयोगकर्ता की अधिक जानकारी का अनुरोध करने देते हैं:

  • profile: डिफ़ॉल्ट प्रोफ़ाइल दावों (नाम, पारिवारिक नाम, लिंग, चित्र आदि) तक पहुँच।
  • email: उपयोगकर्ता के ईमेल पते और सत्यापन स्थिति तक पहुँच।
  • address: उपयोगकर्ता के डाक पते तक पहुँच।
  • phone: उपयोगकर्ता के फ़ोन नंबर और सत्यापन स्थिति तक पहुँच।

फिर इन दावों को ID Token में शामिल किया जाता है या UserInfo Endpoint के माध्यम से इन तक पहुँचा जा सकता है।

उपयोगकर्ता की सहमति और कोड प्रदान करना

आपका ऐप प्राधिकरण अनुरोध भेजने के बाद उपयोगकर्ता को Authorization Server पर भेज दिया जाता है। वहाँ उपयोगकर्ता लॉग इन करता है (यदि आवश्यक हो) और आपके ऐप द्वारा अनुरोधित दायरों के लिए सहमति देने को कहा जाता है।

यदि उपयोगकर्ता स्वीकृति देता है, तो Authorization Server उपयोगकर्ता को आपके ऐप के पंजीकृत redirect URI पर वापस भेजता है और URL क्वेरी पैरामीटर में Authorization Code शामिल करता है।

टोकन का आदान-प्रदान

अब आपका अनुप्रयोग (गोपनीय क्लाइंट के लिए सर्वर पर चल रहा) प्राप्त Authorization Code को Authorization Server के token endpoint के साथ सीधे बदलता है।

यह बैक-चैनल अनुरोध होता है, अर्थात यह उपयोगकर्ता के ब्राउज़र के माध्यम से नहीं, बल्कि आपके सर्वर और Authorization Server के बीच सीधे होता है।

महत्वपूर्ण रूप से, यह आदान-प्रदान अब जानकारी के तीन महत्वपूर्ण हिस्से लौटाता है:

  • Access Token
  • Refresh Token (यदि अनुरोध किया गया हो)
  • ID Token

ID Token क्या है?

ID Token एक JSON Web Token (JWT) है, जिसमें प्रमाणित उपयोगकर्ता के बारे में दावे होते हैं। इसे Authorization Server द्वारा हस्ताक्षरित किया जाता है, जिससे आपका अनुप्रयोग इसकी प्रामाणिकता सत्यापित कर सकता है।

संसाधनों तक पहुँच के लिए उपयोग किए जाने वाले Access Token के विपरीत, ID Token विशेष रूप से पहचान सत्यापन के लिए होता है। यह आपके अनुप्रयोग को बताता है कि उपयोगकर्ता *कौन* है, यह नहीं कि वह *क्या* कर सकता है।

पहचान के लिए ID Token, API के लिए Access Token

आपके अनुप्रयोग को टोकन प्राप्त हो जाने के बाद:

  • ID Token: उपयोगकर्ता की पहचान की पुष्टि करने और मूल प्रोफ़ाइल जानकारी (दावों) को प्राप्त करने के लिए आप ID Token को डिकोड और मान्य कर सकते हैं। इसका उपयोग अक्सर उपयोगकर्ता लॉगिन सत्रों के लिए किया जाता है।
  • Access Token: इस टोकन का उपयोग उपयोगकर्ता की ओर से सुरक्षित Resource Servers (API) को अनुरोध भेजने के लिए किया जाता है। यह अनुरोधित दायरों के आधार पर विशिष्ट संसाधनों तक पहुँच प्रदान करता है।

OIDC Auth Code Flow का प्रयोग

यह सर्वर-पक्षीय टोकन आदान-प्रदान का एक सरल वैचारिक अवलोकन है। वास्तविक अनुप्रयोग में आप OIDC क्लाइंट लाइब्रेरी का उपयोग करेंगे।

public class OidcClientExample {
  public static void main(String[] args) {
    // 1. User is redirected to Auth Server
    //    Example URL:
    //    https://auth.example.com/oauth/authorize?
    //      response_type=code&
    //      client_id=my_app_id&
    //      scope=openid%20profile%20email&
    //      redirect_uri=https://my-app.com/callback&
    //      nonce=random_string
    
    // 2. User grants consent, redirected back with code
    String authCode = "some_long_authorization_code"; // From redirect URI
    
    // 3. Exchange code for tokens (server-side POST request)
    System.out.println("Exchanging Authorization Code for tokens...");
    // This part would typically be handled by an HTTP client
    // sending a POST request to the token endpoint.
    // The response would contain:
    // {
    //   "access_token": "...",
    //   "token_type": "Bearer",
    //   "expires_in": 3600,
    //   "refresh_token": "...",
    //   "id_token": "..." // The OIDC addition!
    // }
    System.out.println("Received Access Token, Refresh Token, and ID Token!");
    System.out.println("ID Token contains user identity claims.");
  }
}

OIDC Auth Code Flow की जाँच

OpenID Connect Authorization Code Flow लागू करने वाले किसी अनुप्रयोग पर विचार करें।

ID Token लौटाया जाना सुनिश्चित करने के लिए प्रारंभिक प्राधिकरण अनुरोध में निम्नलिखित में से कौन-सा पैरामीटर आवश्यक है?

OIDC Auth Code Flow की पुनरावृत्ति

बहुत अच्छा! आपने सीखा कि OpenID Connect, सुरक्षित Authorization Code Flow का विस्तार करके प्राधिकरण और पहचान, दोनों प्रदान करता है।

  • हम response_type=code का उपयोग करते हैं और openid दायरा शामिल करते हैं।
  • Authorization Server एक Authorization Code लौटाता है।
  • इस कोड का आदान-प्रदान संसाधनों तक पहुँच के लिए Access Token और उपयोगकर्ता की पहचान के लिए ID Token से किया जाता है।
  • ID Token एक JWT है, जिसमें उपयोगकर्ता के दावे होते हैं और जिस पर Authorization Server के हस्ताक्षर होते हैं।

वेब अनुप्रयोगों जैसे गोपनीय क्लाइंट के लिए इस प्रवाह की अत्यधिक अनुशंसा की जाती है।

शुरुआत निःशुल्क

एआई शिक्षक के साथ OAuth2 और OpenID Connect का गहन अध्ययन सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
12
पाठ
48

अक्सर पूछे जाने वाले प्रश्न

क्या “OIDC के साथ Authorization Code Flow” पाठ निःशुल्क है?

हाँ — OAuth2 और OpenID Connect का गहन अध्ययन अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “OIDC के साथ Authorization Code Flow” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। OAuth2 और OpenID Connect का गहन अध्ययन पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“OIDC के साथ Authorization Code Flow” में मैं क्या सीखूँगा?

सुरक्षित Authorization Code Flow लागू कीजिए, जिसे अब OIDC के साथ विस्तारित करके पहुँच टोकन के साथ ID Token भी लौटाया जाता है। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ OAuth2 और OpenID Connect का गहन अध्ययन का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या OAuth2 और OpenID Connect का गहन अध्ययन शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर OAuth2 और OpenID Connect का गहन अध्ययन शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।

“OIDC के साथ Authorization Code Flow” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस OAuth2 और OpenID Connect का गहन अध्ययन पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर OAuth2 और OpenID Connect का गहन अध्ययन पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. OIDC के साथ Authorization Code Flow
  2. OIDC के साथ Implicit Flow
  3. OIDC के साथ Hybrid Flow
  4. रीप्ले रोकने के लिए nonce का उपयोग
← OAuth2 और OpenID Connect का गहन अध्ययन पर वापस जाएँ