Java पर OAuth 2.0 और JWT प्राधिकरण: शुरुआती लोगों के लिए मार्गदर्शिका

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

Java पर OAuth 2.0 और JWT का परिचय

\n

आधुनिक वेब एप्लिकेशन और API को प्रमाणीकरण और प्राधिकरण के विश्वसनीय तंत्र की आवश्यकता होती है। इस क्षेत्र में दो सबसे लोकप्रिय मानक हैं — OAuth 2.0 और JWT (JSON Web Tokens)। यदि आप एक शुरुआती Java डेवलपर हैं, तो इन तकनीकों को समझना आपको सुरक्षित और स्केलेबल एप्लिकेशन बनाने का मार्ग खोल देगा।

\n

इस लेख में, हम समझेंगे कि OAuth 2.0 और JWT क्या हैं, वे एक साथ कैसे काम करते हैं, और लोकप्रिय लाइब्रेरीज़ का उपयोग करके Java पर उन्हें कैसे लागू करें। आप सीखेंगे कि प्राधिकरण सर्वर कैसे सेट करें, JWT टोकन कैसे जनरेट और सत्यापित करें, और अपने REST API को कैसे सुरक्षित करें।

\n\n

OAuth 2.0 और JWT क्या हैं?

\n\n

OAuth 2.0 — प्रत्यायोजित पहुँच प्रोटोकॉल

\n

OAuth 2.0 एक प्राधिकरण प्रोटोकॉल है जो एप्लिकेशन को उपयोगकर्ता की साख प्रदान किए बिना उसके संसाधनों तक सीमित पहुँच प्राप्त करने की अनुमति देता है। कल्पना करें कि आप किसी एप्लिकेशन को Google में अपनी तस्वीरों तक पहुँच देना चाहते हैं। Google का पासवर्ड बताने के बजाय, आप OAuth 2.0 का उपयोग करते हैं, जो एप्लिकेशन को सीमित अधिकारों वाला एक अस्थायी टोकन जारी करता है।

\n

OAuth 2.0 के मुख्य भागीदार:

\n
    \n
  • Resource Owner — संसाधनों का मालिक उपयोगकर्ता
  • \n
  • Client — पहुँच का अनुरोध करने वाला एप्लिकेशन
  • \n
  • Authorization Server — टोकन जारी करने वाला सर्वर
  • \n
  • Resource Server — सुरक्षित संसाधन प्रदान करने वाला सर्वर
  • \n
\n\n

JWT — टोकन का कॉम्पैक्ट प्रारूप

\n

JWT (JSON Web Token) एक खुला मानक (RFC 7519) है जो एक्सेस टोकन बनाने के लिए है जिसमें JSON प्रारूप में दावे (claims) होते हैं। JWT में तीन भाग होते हैं, जो बिंदुओं से अलग होते हैं:

\n
    \n
  • Header — इसमें टोकन का प्रकार और हस्ताक्षर एल्गोरिदम (जैसे HS256 या RS256) होता है
  • \n
  • Payload — इसमें दावे (जैसे उपयोगकर्ता ID, भूमिकाएँ, समाप्ति तिथि) होते हैं
  • \n
  • Signature — हस्ताक्षर जो टोकन की अखंडता सुनिश्चित करता है
  • \n
\n

JWT का उदाहरण: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0NTY3ODkwIn0.dozjgNryP4J3jVmNHl0w5N_XgL0n3I9PlFUP0THsR8U

\n\n

Java पर OAuth 2.0 और JWT का कार्यान्वयन

\n\n

Spring Security के साथ प्रोजेक्ट सेटअप

\n

Java पर OAuth 2.0 और JWT को लागू करने के लिए हम Spring Boot और Spring Security का उपयोग करेंगे। आइए pom.xml फ़ाइल में निर्भरताएँ जोड़कर शुरू करें:

\n
<dependency>\n    <groupId>org.springframework.boot</groupId>\n    <artifactId>spring-boot-starter-security</artifactId>\n</dependency>\n<dependency>\n    <groupId>org.springframework.boot</groupId>\n    <artifactId>spring-boot-starter-web</artifactId>\n</dependency>\n<dependency>\n    <groupId>io.jsonwebtoken</groupId>\n    <artifactId>jjwt-api</artifactId>\n    <version>0.12.3</version>\n</dependency>\n<dependency>\n    <groupId>io.jsonwebtoken</groupId>\n    <artifactId>jjwt-impl</artifactId>\n    <version>0.12.3</version>\n    <scope>runtime</scope>\n</dependency>\n<dependency>\n    <groupId>io.jsonwebtoken</groupId>\n    <artifactId>jjwt-jackson</artifactId>\n    <version>0.12.3</version>\n    <scope>runtime</scope>\n</dependency>
\n\n

JWT प्रदाता बनाना

\n

एक JwtProvider क्लास बनाते हैं जो JWT टोकन के जनरेशन और सत्यापन के लिए जिम्मेदार होगा:

\n
import io.jsonwebtoken.*;\nimport io.jsonwebtoken.security.Keys;\nimport org.springframework.stereotype.Component;\n\nimport javax.crypto.SecretKey;\nimport java.util.Date;\n\n@Component\npublic class JwtProvider {\n    private final SecretKey secretKey = Keys.secretKeyFor(SignatureAlgorithm.HS256);\n    private final                

ब्लॉग

पुस्तक अनुशंसाएँ