Spring Security 6 और JWT प्रमाणीकरण · पाठ

OAuth2 क्लाइंट सेटअप

विभिन्न प्रदाताओं के लिए पंजीकरण विवरण निर्धारित करते हुए अपने अनुप्रयोग को OAuth2 क्लाइंट के रूप में कार्य करने के लिए कॉन्फ़िगर करें।

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

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

OAuth2 Client क्या है?

OAuth2 में, OAuth2 Client वह अनुप्रयोग है जो किसी उपयोगकर्ता की ओर से Resource Server पर मौजूद संसाधनों तक पहुँचना चाहता है। इसे ऐसे समझें जैसे आपका अनुप्रयोग आपकी ओर से किसी अन्य सेवा (जैसे Google या GitHub) का उपयोग करने की अनुमति माँग रहा हो।

यह उपयोगकर्ता स्वयं नहीं, बल्कि उपयोगकर्ता की ओर से कार्य करने वाला अनुप्रयोग होता है।

अपने अनुप्रयोग को कॉन्फ़िगर क्यों करें?

किसी बाहरी सेवा के API का उपयोग करने के लिए (जैसे उपयोगकर्ता प्रोफ़ाइल प्राप्त करना या अपडेट पोस्ट करना), आपके अनुप्रयोग की उस सेवा द्वारा पहचान की जानी आवश्यक है। इस पहचान प्रक्रिया को client registration कहा जाता है।

  • आपके अनुप्रयोग को एक विशिष्ट पहचान मिलती है।
  • सेवा जानती है कि पहुँच का अनुरोध कौन कर रहा है।
  • यह सुरक्षित संचार और प्राधिकरण को सक्षम बनाता है।

क्लाइंट पंजीकरण का मुख्य विवरण

जब आप अपने अनुप्रयोग को किसी OAuth2 Authorization Server (पहुँच प्रदान करने वाली सेवा) के साथ पंजीकृत करते हैं, तो सामान्यतः आप ये विवरण प्रदान करते हैं और प्राप्त करते हैं:

  • Client ID: आपके अनुप्रयोग का सार्वजनिक पहचानकर्ता।
  • Client Secret: आपके अनुप्रयोग का प्रमाणीकरण करने के लिए उपयोग की जाने वाली गोपनीय कुंजी।
  • Redirect URI(s): प्राधिकरण के बाद Authorization Server उपयोगकर्ता को जहाँ वापस भेजता है।

OAuth2 Client के रूप में Spring Security

Spring Security आपके Spring Boot अनुप्रयोग को OAuth2 Client के रूप में कार्य करने के लिए कॉन्फ़िगर करना अत्यंत आसान बनाता है। यह OAuth2 के अधिकांश जटिल प्रवाह को स्वचालित रूप से संभालता है।

आपको केवल उस बाहरी सेवा के आवश्यक पंजीकरण विवरण देने होते हैं जिससे आप जुड़ना चाहते हैं।

क्लाइंट कॉन्फ़िगरेशन फ़ाइल

Spring Security का OAuth2 क्लाइंट कॉन्फ़िगरेशन मुख्य रूप से आपकी application.yml या application.properties फ़ाइल में रहता है।

आप दो मुख्य उपसर्गों का उपयोग करेंगे:

  • spring.security.oauth2.client.registration: किसी विशिष्ट प्रदाता के साथ आपके अनुप्रयोग के पंजीकरण का विवरण निर्धारित करता है।
  • spring.security.oauth2.client.provider: स्वयं OAuth2 प्रदाता का विवरण निर्धारित करता है (जैसे उसका प्राधिकरण endpoint)।

प्रदाता की स्थापना

spring.security.oauth2.client.provider.[provider-name] के अंतर्गत आप बाहरी OAuth2 सेवा के endpoints निर्धारित करते हैं। उदाहरण के लिए, github नामक प्रदाता के लिए:

  • authorization-uri: वह स्थान जहाँ उपयोगकर्ता आपके अनुप्रयोग को अधिकृत करने के लिए जाते हैं।
  • token-uri: वह स्थान जहाँ आपका अनुप्रयोग codes का tokens के साथ आदान-प्रदान करता है।
  • user-info-uri: वह स्थान जहाँ आपका अनुप्रयोग उपयोगकर्ता का विवरण प्राप्त करता है।

अक्सर, यदि आप केवल client-id और client-secret प्रदान करें, तो Spring Boot लोकप्रिय प्रदाताओं के लिए इन्हें स्वतः कॉन्फ़िगर कर सकता है।

अपने क्लाइंट अनुप्रयोग का पंजीकरण

spring.security.oauth2.client.registration.[registration-id] के अंतर्गत आप किसी दिए गए प्रदाता के लिए अपने अनुप्रयोग के विशिष्ट पंजीकरण विवरण निर्धारित करते हैं। registration-id आपके विशिष्ट क्लाइंट कॉन्फ़िगरेशन के लिए एक विशिष्ट नाम का काम करता है।

  • provider: किसी निर्धारित प्रदाता से जोड़ता है (जैसे github)।
  • client-id: आपके अनुप्रयोग की सार्वजनिक ID।
  • client-secret: आपके अनुप्रयोग की गुप्त कुंजी।
  • redirect-uri: वापस बुलाने वाला URL।
  • scope: आपके अनुप्रयोग द्वारा माँगी जाने वाली अनुमतियाँ (जैसे read:user)।
  • authorization-grant-type: उपयोग किया जाने वाला OAuth2 प्रवाह (जैसे authorization_code)।

उदाहरण: GitHub क्लाइंट की स्थापना

आइए GitHub का उपयोग करते हुए एक वास्तविक उदाहरण देखें। सबसे पहले आप Client ID और Client Secret प्राप्त करने के लिए GitHub की डेवलपर सेटिंग में अपना अनुप्रयोग पंजीकृत करेंगे।

इसके बाद अपनी application.yml कॉन्फ़िगर करें:

spring:
  security:
    oauth2:
      client:
        registration:
          github:
            client-id: your-github-client-id
            client-secret: your-github-client-secret
            redirect-uri: "{baseUrl}/login/oauth2/code/{registrationId}"
            scope: read:user,user:email
        provider:
          github:
            authorization-uri: https://github.com/login/oauth/authorize
            token-uri: https://github.com/login/oauth/access_token
            user-info-uri: https://api.github.com/user

न्यूनतम Spring Boot अनुप्रयोग

OAuth2 क्लाइंट की कार्यक्षमता सक्षम करने के लिए सुनिश्चित करें कि आपके पास spring-boot-starter-oauth2-client निर्भरता है। Spring Boot स्वतः कॉन्फ़िगरेशन का पता लगाकर आवश्यक फ़िल्टर स्थापित कर देगा।

यहाँ एक बुनियादी Spring Boot अनुप्रयोग का प्रवेश-बिंदु है:

package com.coddykit;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.security.Principal;

@SpringBootApplication
@RestController
public class Oauth2ClientApp {

    public static void main(String[] args) {
        SpringApplication.run(Oauth2ClientApp.class, args);
    }

    @GetMapping("/")
    public String welcome(Principal principal) {
        if (principal != null) {
            return "Hello, " + principal.getName() + "! You are logged in with OAuth2.";
        }
        return "Hello! Please log in with OAuth2.";
    }
}

स्वचालित OAuth2 प्रवाह

कॉन्फ़िगरेशन पूरा होने के बाद Spring Security स्वतः:

  • अप्रमाणित उपयोगकर्ताओं को कॉन्फ़िगर किए गए Authorization Server के लॉगिन पृष्ठ पर भेजता है।
  • उपयोगकर्ता द्वारा अनुमति देने के बाद authorization code के आदान-प्रदान को संभालता है।
  • user-info-uri से उपयोगकर्ता का विवरण प्राप्त करता है।
  • प्रमाणित उपयोगकर्ता को SecurityContext में दर्ज करता है।

इससे OAuth2 क्लाइंट तर्क लागू करना काफी सरल हो जाता है।

त्वरित जाँच: क्लाइंट कॉन्फ़िगरेशन

आप किसी बाहरी सेवा के लिए OAuth2 क्लाइंट के रूप में कार्य करने वाला Spring Boot अनुप्रयोग स्थापित कर रहे हैं। निम्नलिखित में से कौन-सी property मुख्य रूप से बाहरी सेवा के सामने आपके अनुप्रयोग की पहचान करने के लिए उपयोग की जाती है और इसे गोपनीय रखा जाना चाहिए?

पुनरावलोकन: OAuth2 क्लाइंट की स्थापना

आपने अपने Spring Boot अनुप्रयोग को OAuth2 Client के रूप में कॉन्फ़िगर करना सीख लिया है। हमने इन विषयों को शामिल किया:

  • OAuth2 Client की भूमिका
  • client-id और client-secret जैसी प्रमुख कॉन्फ़िगरेशन प्रॉपर्टीज़
  • क्लाइंट और प्रदाता पंजीकरण के लिए application.yml का उपयोग
  • OAuth2 प्रवाह को Spring Security द्वारा स्वचालित रूप से संभालना

अब हम Google और GitHub जैसे विशिष्ट सोशल लॉगिन प्रदाताओं को एकीकृत करने की प्रक्रिया को और विस्तार से समझेंगे!

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

एआई शिक्षक के साथ Java सीखें — निःशुल्क

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

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

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

क्या “OAuth2 क्लाइंट सेटअप” पाठ निःशुल्क है?

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

“OAuth2 क्लाइंट सेटअप” में मैं क्या सीखूँगा?

विभिन्न प्रदाताओं के लिए पंजीकरण विवरण निर्धारित करते हुए अपने अनुप्रयोग को OAuth2 क्लाइंट के रूप में कार्य करने के लिए कॉन्फ़िगर करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Spring Security 6 और JWT प्रमाणीकरण का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Spring Security 6 और JWT प्रमाणीकरण शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

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

“OAuth2 क्लाइंट सेटअप” पाठ पूरा करने में कितना समय लगता है?

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

क्या मैं इस Spring Security 6 और JWT प्रमाणीकरण पाठ में कोड लिख और चला सकता हूँ?

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

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

  1. OAuth2 क्लाइंट सेटअप
  2. सोशल लॉगिन एकीकरण
  3. कस्टम OAuth2 सफलता हैंडलर
  4. प्रमाणित OAuth2 उपयोगकर्ता तक पहुँचना
← Spring Security 6 और JWT प्रमाणीकरण पर वापस जाएँ