अरे, साथी डेवलपर्स! ? क्या आप अपने प्रमाणीकरण खेल को उन्नत करने के लिए तैयार हैं? आज, हम Google OAuth 2.0 की दुनिया में गोता लगा रहे हैं और Passport.js का उपयोग करके इसे कैसे लागू किया जाए। मेरा विश्वास करें, आपके उपयोगकर्ता इस सहज और सुरक्षित लॉगिन अनुभव के लिए आपको धन्यवाद देंगे!
Google OAuth 2.0 क्यों? ?
इससे पहले कि हम आगे बढ़ें, आइए इस बारे में बात करें कि Google OAuth 2.0 इतनी बड़ी बात क्यों है:
1. उपयोगकर्ता के अनुकूल: अब "पासवर्ड भूल गए" सिरदर्द नहीं!
2. फोर्ट नॉक्स सुरक्षा: Google के शीर्ष सुरक्षा प्रोटोकॉल का लाभ उठाएं।
3. ट्रस्ट बूस्टर: उपयोगकर्ता अपने Google खातों का उपयोग करके अधिक सुरक्षित महसूस करते हैं।
अच्छा लगता है, है ना? आएँ शुरू करें!
चरण 1: गियर अप करें! ?️
सबसे पहले, आइए अपने टूल इंस्टॉल करें। अपने टर्मिनल को चालू करें और चलाएं:
npm install passport passport-google-oauth2 express-session
Google OAuth 2.0 को लागू करने के लिए ये पैकेज आपके नए सबसे अच्छे दोस्त हैं।
चरण 2: Google डेवलपर कंसोल एडवेंचर ?️
Google डेवलपर कंसोल में अपना प्रोजेक्ट सेट करने का समय आ गया है। यहां आपके खजाने का नक्शा है:
1. Google डेवलपर कंसोल पर जाएं।
2. एक नया प्रोजेक्ट बनाएं (इसे एक अच्छा नाम दें!)।
3. "एपीआई और सेवाएं > क्रेडेंशियल्स" पर नेविगेट करें।
4. "क्रेडेंशियल बनाएं" पर क्लिक करें और "OAuth 2.0 क्लाइंट आईडी" चुनें।
5. अपनी सहमति स्क्रीन सेट करें (आइकन के लिए मुस्कुराना न भूलें!)।
6. अपना OAuth 2.0 क्लाइंट आईडी (वेब एप्लिकेशन प्रकार) कॉन्फ़िगर करें।
7. अपना रीडायरेक्ट यूआरआई जोड़ें (उदाहरण के लिए, http://localhost:3000/auth/google/callback)।
प्रो टिप: अपनी क्लाइंट आईडी और क्लाइंट सीक्रेट को सुरक्षित रखें। वे आपके OAuth साम्राज्य की चाबियों की तरह हैं!
चरण 3: पासपोर्ट कॉन्फ़िगरेशन जादू ✨
अब, आइए हमारे ऐप में कुछ पासपोर्ट.जेएस जादू छिड़कें:
const passport = require('passport'); const GoogleStrategy = require('passport-google-oauth20').Strategy; passport.use(new GoogleStrategy({ clientID: process.env.GOOGLE_CLIENT_ID, clientSecret: process.env.GOOGLE_CLIENT_SECRET, callbackURL: "http://localhost:3000/auth/google/callback" }, function(accessToken, refreshToken, profile, done) { // Your user-saving logic goes here! User.findOrCreate({ googleId: profile.id }, function (err, user) { return done(err, user); }); } )); // Don't forget to serialize and deserialize your users! passport.serializeUser((user, done) => { done(null, user.id); }); passport.deserializeUser((id, done) => { User.findById(id, (err, user) => { done(err, user); }); });
चरण 4: सफलता का मार्ग ?️
आइए हमारे प्रमाणीकरण राजमार्ग स्थापित करें:
const express = require('express'); const passport = require('passport'); const app = express(); app.use(passport.initialize()); app.use(passport.session()); // The gateway to Google OAuth app.get('/auth/google', passport.authenticate('google', { scope: ['profile', 'email'] }) ); // Welcome back! Handle the callback app.get('/auth/google/callback', passport.authenticate('google', { successRedirect: '/auth/google/success', failureRedirect: '/auth/google/failure' }) ); // Success and failure destinations app.get('/auth/google/success', (req, res) => { res.send('Welcome aboard! ?'); }); app.get('/auth/google/failure', (req, res) => { res.send('Oops! Something went wrong. ?'); }); app.listen(3000, () => { console.log('Server is up and running! ?'); });
चरण 5: लॉन्च का समय! ?
अपना पर्यावरण चर सेट करें (GOOGLE_CLIENT_ID और GOOGLE_CLIENT_SECRET), और आप लिफ्टऑफ़ के लिए तैयार हैं!
node app.js
http://localhost:3000/auth/google पर नेविगेट करें, और जादू होते हुए देखें!
ऊपर लपेटकर ?
ये रहा आपके लिए! आपने अभी-अभी Passport.js के साथ Google OAuth 2.0 लागू किया है। आपके उपयोगकर्ता अब अपने Google खातों से लॉग इन कर सकते हैं और एक सहज और सुरक्षित अनुभव का आनंद ले सकते हैं।
याद रखें, यह तो बस शुरुआत है। किसी प्रोडक्शन ऐप में, आप इस तरह की और सुविधाएं जोड़ना चाहेंगे:
क्या आपने अपनी परियोजनाओं में OAuth लागू करने का प्रयास किया है? आपको किन चुनौतियों का सामना करना पड़ा? नीचे टिप्पणी में अपने विचार लिखें - मुझे प्रमाणीकरण की भूमि में आपके कारनामों के बारे में सुनना अच्छा लगेगा!
हैप्पी कोडिंग, और आपका लॉगिन हमेशा सुचारू रहे! ?????
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3