जावास्क्रिप्ट (Node.js) के लिए OAuth क्लाइंट: अवलोकन और उपयोग के उदाहरण

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

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

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

जावास्क्रिप्ट (Node.js) के लिए OAuth क्लाइंट लाइब्रेरी का अवलोकन



OAuth (ओपन ऑथराइज़ेशन) एक खुला प्राधिकरण प्रोटोकॉल है जो तीसरे पक्ष को लॉगिन और पासवर्ड स्थानांतरित किए बिना उपयोगकर्ता के संसाधनों तक सीमित पहुंच प्रदान करने की अनुमति देता है। Node.js इकोसिस्टम में कई परिपक्व लाइब्रेरी हैं जो OAuth 2.0 और OAuth 1.0a को लागू करती हैं। इस लेख में हम तीन सबसे लोकप्रिय समाधानों पर विचार करेंगे: simple-oauth2, oauth4webapi और Passport.js अपनी रणनीतियों के साथ। आप सीखेंगे कि उपयुक्त उपकरण कैसे चुनें और इसे अपने प्रोजेक्ट में कैसे एकीकृत करें।



1. simple-oauth2 — सार्वभौमिक OAuth 2.0 क्लाइंट



simple-oauth2 एक हल्की लाइब्रेरी है जो OAuth 2.0 के साथ काम करने के लिए एक स्वच्छ API प्रदान करती है। यह सभी मुख्य ग्रांट (authorization code, client credentials, password, refresh token) का समर्थन करती है। यह सर्वर-साइड एप्लिकेशन के लिए आदर्श है जहां प्रक्रिया पर पूर्ण नियंत्रण की आवश्यकता होती है।



स्थापना

npm install simple-oauth2


उदाहरण: GitHub के माध्यम से प्राधिकरण

const express = require('express');const simpleOAuth2 = require('simple-oauth2');const app = express();

const config = { client: { id: 'आपका_CLIENT_ID', secret: 'आपका_CLIENT_SECRET' }, auth: { tokenHost: 'https://github.com', tokenPath: '/login/oauth/access_token', authorizePath: '/login/oauth/authorize' }};

const oauth2 = new simpleOAuth2.ClientCredentials(config);

// प्राधिकरण शुरू करने का मार्गapp.get('/auth/github', (req, res) => { const authorizationUri = oauth2.authorizeURL({ redirect_uri: 'http://localhost:3000/callback', scope: 'user:email' }); res.redirect(authorizationUri);});

// कॉलबैक मार्गapp.get('/callback', async (req, res) => { const { code } = req.query; try { const result = await oauth2.getToken({ code, redirect_uri: 'http://localhost:3000/callback' }); const accessToken = oauth2.createToken(result); console.log('Access Token:', accessToken.token.access_token); res.send('प्राधिकरण सफलतापूर्वक पूरा हुआ!'); } catch (error) { console.error('टोकन प्राप्त करने में त्रुटि', error); res.status(500).send('प्राधिकरण त्रुटि'); }});

app.listen(3000, () => console.log('सर्वर पोर्ट 3000 पर चल रहा है'));


2. oauth4webapi — आधुनिक मानक



oauth4webapi OAuth 2.0 और OpenID Connect के नवीनतम विनिर्देशों का कार्यान्वयन है। लाइब्रेरी की कोई बाहरी निर्भरता नहीं है, यह PKCE (Proof Key for Code Exchange) और JWK (JSON Web Keys) के साथ काम करने का समर्थन करती है। नए प्रोजेक्ट के लिए अनुशंसित जहां सुरक्षा और मानकों का अनुपालन महत्वपूर्ण है।



स्थापना

npm install oauth4webapi


उदाहरण: PKCE के साथ प्राधिकरण

const express = require('express');const { AuthorizationServer, Client, generateCodeVerifier, generateCodeChallenge } = require('oauth4webapi');const app = express();

// प्राधिकरण सर्वर कॉन्फ़िगरेशन (Google)const issuer = new URL('https://accounts.google.com');const server = new AuthorizationServer(issuer);const client = new Client({ client_id: 'आपका_CLIENT_ID', client_secret: 'आपका_CLIENT_SECRET', redirect_uris: ['http://localhost:3000/callback']});

app.get('/auth/google', async (req, res) => { const codeVerifier = generateCodeVerifier(); const codeChallenge = await generateCodeChallenge(codeVerifier); // codeVerifier को सत्र में सहेजें req.session.codeVerifier = codeVerifier;

const authorizationUrl = new URL(server.authorization_endpoint); authorizationUrl.searchParams.set('client_id', client.client_id); authorizationUrl.searchParams.set('redirect_uri', client.redirect_uris[0]); authorizationUrl.searchParams.set('response_type', 'code'); authorizationUrl.searchParams.set('scope', 'openid profile email'); auth

अनुशंसाएँ