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

JWT को डिकोड और मान्य करना

जानें कि संसाधन सर्वर प्राधिकरण सर्वर द्वारा जारी JWT को स्वचालित रूप से कैसे डिकोड और मान्य करता है।

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

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

संसाधन सर्वर और JWT

इस पाठ में आपका स्वागत है! हम जानेंगे कि Spring Security OAuth2 संसाधन सर्वर JSON Web Token (JWT) को अपने-आप कैसे संभालता है।

आप उन डिकोडिंग और सत्यापन प्रक्रियाओं के बारे में सीखेंगे, जो आपके API एंडपॉइंट की सुरक्षा करती हैं।

संसाधन सर्वर की भूमिका

संसाधन सर्वर ऐसा एप्लिकेशन है, जो सुरक्षित संसाधनों (जैसे API एंडपॉइंट या डेटा) को होस्ट करता है और यह सत्यापित करता है कि उन तक पहुँचने का प्रयास कौन कर रहा है।

यह token जारी करने के लिए प्राधिकरण सर्वर पर निर्भर करता है। ये token (जैसे JWT) पहुँच प्रदान करते हैं। इसके बाद संसाधन सर्वर इन token का सत्यापन करता है।

अनुरोधों में JWT प्राप्त करना

जब कोई क्लाइंट सुरक्षित संसाधन तक पहुँचना चाहता है, तो वह अपने HTTP अनुरोध के Authorization हेडर में JWT भेजता है। आमतौर पर इसके लिए Bearer Token स्कीम का उपयोग किया जाता है।

  • Bearer Token: ऐसा प्रमाण-पत्र, जो इसे रखने वाले किसी भी व्यक्ति को पहुँच प्रदान करता है।

संसाधन सर्वर इस token को आगे की प्रक्रिया के लिए निकाल लेता है।

JWT की स्वचालित प्रक्रिया

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

यह हेडर में मौजूद Bearer token का पता लगाता है और उसे डिकोड तथा सत्यापित करने की अपनी आंतरिक प्रक्रिया शुरू करता है।

Token को डिकोड करना

पहला चरण JWT को डिकोड करना है। JWT के तीन भाग होते हैं: Header, Payload और Signature, जो बिंदुओं से अलग किए जाते हैं।

डिकोड करने का अर्थ है base64-encoded Header और Payload को पढ़ने योग्य JSON में पार्स करना। इस चरण में अभी token की प्रामाणिकता सत्यापित नहीं की जाती; केवल उसकी सामग्री को पढ़ने योग्य बनाया जाता है।

सत्यापन प्रक्रिया

डिकोड करने के बाद, संसाधन सर्वर यह सुनिश्चित करने के लिए महत्वपूर्ण सत्यापन जाँच करता है कि JWT वैध है और उसके साथ छेड़छाड़ नहीं की गई है। इन जाँचों में शामिल हैं:

  • Signature Verification: क्या token प्रामाणिक है?
  • Expiration (exp): क्या token अभी भी मान्य है?
  • Not Before (nbf): क्या token अभी सक्रिय है?
  • Issuer (iss): क्या इसे अपेक्षित प्राधिकरण सर्वर ने जारी किया है?
  • Audience (aud): क्या यह इसी संसाधन सर्वर के लिए है?

Signature का सत्यापन

Signature verification सबसे महत्वपूर्ण चरण है। यह token की अखंडता और प्रामाणिकता सुनिश्चित करता है।

संसाधन सर्वर signature की दोबारा गणना करके उसकी तुलना करने के लिए प्राधिकरण सर्वर द्वारा प्रदान की गई public key (या सममित एल्गोरिदम के लिए साझा secret) का उपयोग करता है। यदि दोनों मेल नहीं खाते, तो token अस्वीकार कर दिया जाता है।

`JwtDecoder` इंटरफ़ेस

Spring Security JWT को डिकोड करने और उसकी signature का सत्यापन करने के लिए JwtDecoder इंटरफ़ेस का उपयोग करता है। यह कच्ची JWT स्ट्रिंग लेता है और एक Jwt ऑब्जेक्ट लौटाता है, जिसमें डिकोड किए गए हेडर और दावे होते हैं।

JWS (JSON Web Signature) token के लिए सबसे सामान्य कार्यान्वयन NimbusJwtDecoder है।

संसाधन सर्वर कॉन्फ़िगरेशन

इस स्वचालित डिकोडिंग और सत्यापन को सक्षम करने के लिए, आप अपने Spring Boot एप्लिकेशन को OAuth2 संसाधन सर्वर के रूप में कॉन्फ़िगर करते हैं। आमतौर पर आप अपने प्राधिकरण सर्वर का issuer URI या JWK Set URI प्रदान करते हैं।

इसके बाद Spring Security आने वाले JWT का सत्यापन करने के लिए आवश्यक public key प्राप्त करेगा।

@Configuration
@EnableWebSecurity
public class ResourceServerConfig {

  @Bean
  public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
    http
      .authorizeHttpRequests(authorize -> authorize
        .anyRequest().authenticated()
      )
      .oauth2ResourceServer(oauth2 -> oauth2
        .jwt(jwt -> jwt
          .jwkSetUri("http://localhost:9000/.well-known/jwks.json") // Or issuerUri
        )
      );
    return http.build();
  }
}

JWT से प्रमाणीकरण ऑब्जेक्ट तक

JWT के सफलतापूर्वक डिकोड और सत्यापित हो जाने के बाद, Spring Security उसके दावों को एक Authentication ऑब्जेक्ट में बदलता है, जो आमतौर पर JwtAuthenticationToken होता है।

इसके बाद यह ऑब्जेक्ट Security Context में संग्रहीत किया जाता है, जिससे पूरे एप्लिकेशन में उपयोगकर्ता की पहचान और उसे दी गई authorities (अनुमतियाँ) उपलब्ध रहती हैं।

JWT सत्यापन जाँच

आइए JWT सत्यापन की आपकी समझ जाँचते हैं। Spring Security OAuth2 संसाधन सर्वर JWT के मान्य और विश्वसनीय होने की पुष्टि करने के लिए कई महत्वपूर्ण जाँच करता है।

दोहराव और अगले चरण

आपने सीख लिया है कि Spring Security OAuth2 संसाधन सर्वर JWT को अपने-आप कैसे डिकोड और सत्यापित करता है!

  • हमने संसाधनों की सुरक्षा में संसाधन सर्वर की भूमिका समझी।
  • हमने जाना कि JWT कैसे प्राप्त और स्वचालित रूप से संसाधित किए जाते हैं।
  • हमने डिकोडिंग, signature verification और दावों के सत्यापन (समाप्ति, issuer, audience) के महत्वपूर्ण चरण समझे।
  • हमने देखा कि प्राधिकरण सर्वर के JWK Set URI का उपयोग करने के लिए संसाधन सर्वर को कैसे कॉन्फ़िगर किया जाता है।
  • हमने सीखा कि सत्यापित JWT, Security Context में जानकारी कैसे भरते हैं।

अगले चरण में, हम आने वाले JWT में विशिष्ट scopes और claims लागू करके आपके API के अलग-अलग हिस्सों तक पहुँच नियंत्रित करना विस्तार से सीखेंगे।

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

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

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

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

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

क्या “JWT को डिकोड और मान्य करना” पाठ निःशुल्क है?

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

“JWT को डिकोड और मान्य करना” में मैं क्या सीखूँगा?

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

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

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

“JWT को डिकोड और मान्य करना” पाठ पूरा करने में कितना समय लगता है?

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

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

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

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

  1. संसाधन सर्वर सेटअप
  2. JWT को डिकोड और मान्य करना
  3. स्कोप और दावों का प्रवर्तन
  4. JWT दावों को Spring authorities से मैप करना
← Spring Security 6 और JWT प्रमाणीकरण पर वापस जाएँ