Complete Authentication System | JWT, Refresh Token, OTP, Logout All Devices
By Sheryians Coding School
Summary
Topics Covered
- रिक्वेस्ट से यूजर की पहचान असंभव
- टोकन हर रिक्वेस्ट में भेजें
- टोकन चोरी से अकाउंट खतरा
- Access-Refresh टोकन जोड़ी सुरक्षित
- सभी डिवाइस से एक साथ लॉगआउट
Full Transcript
हाई एवरिबन कैसे हो आप लोग आज की इस वीडियों हम बात करने वाले ऑथेंटिकेशन सिस्टम के
token rotation, OTP based verification, logout system and logout from all device features. और सबसे important बात, हम इन सभी concept को practical example के साथ
device features. और सबसे important बात, हम इन सभी concept को practical example के साथ implement भी कर रहे होंगे, ताकि आपको सारी चीज़े clear समझ में आए. So, let's
start building the complete authentication system with Share-Ince Coding School. तो देखो यार, सबसे पहली चीज़ जो में आपे पढ़नी रहेगी, वो है कि ऑथेंटिकेशन का मतलब exactly होता क्या है, � एक हमारे पास यहां पे सर्वर है सर्वर अभी के लिए तुम माल लो कि यह एक इंस्टाग्राम का सर्वर है और इंस्टाग्राम की सर्वर पे हमारे पास एक एक एक
एक प्याइड प्याइड पर हिट करेगा इस एप्याइड करेगा उसका मतलब यह है कि वो यूजर एक्स वा लाइक करना चाहता है अब देखो अब मैं तुम्हारे साथ यहां पर एक गेम खेलता हूं
मैं यहां पर तीन यूजर क्रिएट कर रहा हूं एक हो गया यह यूजर और इस यूजर कर नाम हमने दे दिया ए ठीक है एक और यूजर हमारे पास यहां पर आता है और यह है हमारा भी तो मैं यहां पर स्क्रीन को मूफ कर रहा हूं और स्क्रीन को मूफ करने के आप मैं थोड़ा बाँ डाइग्राम चेंज कर रहा हूं थोड़ा सा रुकना मैं एक एरो ड्रॉ करने वाला हूं
और थोड़ा सा रुख जाओ कहीं पर मत जाना कहीं पर मत जाना और बस मुझे यह बता देना कि यह जो रिक्वेस्ट आ रही है यह रिक्वेस्ट किस यूजर के पास से आ रही होगी ठीक है बस मुझे इतना बता देना आप सभी ओके इतना काफी होगा इतना यहां पर काफी हो तो अब देखो यह रहा हमारा सर्वर और इस सर्वर और इस रिक्वेस्ट के फ्लो
को आपको देखके मुझे बताना है यह जो रिक्वेस्ट आ रही है यह जो एक रिक्वेस्ट इस एंड पॉइंट पर यह कौन सी उजर के पास आ रही ए बी या सी अब देखो सही बताऊं तो � एकदम correct, full, 100% confidence पे कि वह यह जो request है, यह किस user के पास से आ रही होगी, तुम guess जरूर कर सकते हो कि वह यह A के पास से
आ रही होगी, या C के पास से आ रही होगी, लेकिन तुम में से कोई भी मुझे नहीं बता सकता अब ही, कि वह यह जो एक request आ रही है, यह A, B या C, किस user के पा थोड़ा देखा तुमने तो यहां पर यह जो हमारी रिक्वेस्ट है रिक्वेस्ट किस यूजर के पास से आ रही है यह यूजर के पास से आ रही है इस चीज को हम क्या
बोलते हैं इस चीज को भी बोल रहे होते हैं तो अथेंटिकेशन कुछ जादा मुश्किल नहीं है और यह उसको identify करना, उस user को identify करने को हम क्या बोलते है, authentication, अब authentication बहुत ज़ादा जरूरी होता है, लेकिन उससे पहले हम यह समझेंगे, कि वाई, authentication को
कैसे implement करते हैं, बहुत सारे तरीके होते है, authentication का एक पूरा system होता है, अब यह सारी चीज़े कैसे होती है, authentication system कैसे बनाते हैं, उसकी � अब हमें यहाँ पर एक सिस्टम समझना है कि इस सर्वर के साथ हमारे पास एक यूजर
रहता है यह पूरा जो ऑथेंटिकेशन सिस्टम रहता है इसकी शुरुआत होती है रजिस्टर से कि जब एक यूजर रजिस्टर कर रहा होता है तो उसका जो सबसे पहला काम रहता है वो � वो सर्वर पर रजिस्टर कर सके जब तक आपका यूजर सर्वर पर रजिस्टर नहीं करेगा हम उसे अलाव नहीं करते हैं कि वह कुछ भी
ऑपरेशन परफॉर्म कर पाए जैसे कि इंस्टाग्राम का अगेन अगर में एक एक जामपल लेता हम तो जब तक यूजर रजिस्टर यूजर जब भी हमारी एप्लिकेशन पर आएगा तो सबसे पहला काम करना रहेगा वह रिजिस्टर हो जाए और रिजिस्टर होने के बाद वह जित्ती मर्जी जाए वहां पर लॉग इन कर सकता है
तो यहां पर होता कुछ ऐसा है कि यहां पर रिक्वेस्ट जाती है आपके सर् یہ جو آپ کا یوزر ہے یہ یوزر सर्वर पे अपनी डिटेल शेर कर रहा होता है मतलब क्या मतलब एक वह अपनी डिटेल शेर करता है क्या-क्या जैसे कि वह अपना यूजर नेम वहां पे शेर कर सकता है वह वहां पे अपना एमेल
एड्रेस वहां पे शेर कर सकता है अपने सर्वर पे तो कुछ इतनी ऐसी डिट डेटा बेस में इन डेटेल्स को सेव कर लेता है सर्वर जो आप कर रहेगा सर्वर इन डेटेल्स को डेटा बेस में सेव कर लेता है सक्सेस्वल है कि यूजर
की डेटा यहां पर यूजर डेटा सेव हो जाता है ठीक है फिर सर्वर यहां पर एक चीज और करेगा यप अब सर्वर यहां पर यहां पर एक चीज क्रिएट करता है क्या क्रिएट कर रहा होता है सर्वर यहां पर क्रिएट करता
है टोकन यप सर्वर जो आपका यहां पर रहेगा वह क्रिएट करता है एक टोकन य क्रिएट कर रहा होता है अब इस टोकन के अंदर कुछ डेटा और होता है मतलब क्या आप देखो इस टोकन के
अंदर डेटा रहता है तो देखो इस टोकन के अंदर डेटा रहता है यूजर का या जिस भी यूजर ने यहां जो भी यूजर यहां पर रेजिस्टर कर रहा हो और � उसी का कुछ डेटा हम यहां पर टोकन के अंदर रख रहे होते हैं मतलब क्या मतलब देखो जब यहां पर डेटावेस में यूजर का डेटा सेव कर रहे होते हैं
यूजर के डेटा को वहां पर एक डेटावेस आप यूजर के डेटावेस आप वहां पर यूजर के डेटावेस यह जो आपका सर्वर यह जो आपका सर्वर है इस टोकन को अपने पास नहीं रखता है इस टोकन को वह रिस्पॉंस
भेजता है तो वह टेटा साथ में वापिस कर चुका होता है तो कुछ इस तरीके से आपकी चीज़े वहाँ पर काम कर रही होती है तो अब होता क्या है पूरा पर मैं तुम बताता हूं कि यहां पर होता क्या है क्यों यहां पर यूजर रेजिस्टर करता है वह अपनी डिटेल सर्वर को भेज़ता है सर्वर उन डिटेल् टोकन क्रिएट करता है और वो टोकन वापिस किसको दे देता है यूजर को दे
देता है अच्छा एक चीज़ का यहां पर धियान रखना यह जो आपका टोकन रहता है इस टोकन के अंदर जिस यूजर ने रजिस्टर किया था उसी यूजर की डिटेल्स रहती प्राइमरी क्या � होता कुछ इस तरीके से कि अगेन हमारे पास यहां पर एक सर्वर रहता है तो देखो हमारे पास यहां पर एक सर्वर है और सर्वर के साथ हम यहां
पर कुछ और यूजर लेकर आते हैं तो यहां पर कुछ यूजर लेकर आते हैं तो लेट से यह एक हमारे पास यूजर है और इ और यह रहा हमारा यहां पर प्राइमरी सर्वर अब देखो होता क्या है कि यह
सारे यूजर सबसे पहले आपके सर्वर या आपके एप्लिकेशन पर जब वो आते हैं तो उनका पहला काम क्या रहता है पहला काम रहता है रेजिस्टर करना और जब वो रेजिस्टर कर चुक है थ रहेगी बी उजर के पास जो टोकन रहेगा इसके अंदर भी उसी की डिटेल रहती
है सी उजर के पास जो टोकन रहेगा इसके अंदर भी सी उजर की डिटेल यहां पर होती है अब देखो होता क्या है कि इसके बाद जो पूरा ऑथेंटिकेशन सिस्टम में वो क्या बोलता है कि उसके पास है यह जो टोकन उसके पास है यह टोकन वो रिक्वेस्ट में भीज रहा होगा मतलब क्या मतलब यह कि अगर यूजर सर्वर पर कुछ रिक्वेस्ट कर रहे
था इस रिक्वेस्ट के साथ उसे अपना टोकन भीजना रहेगा सेम जाएगा आपके यूजर के साथ कि बा जो भी user आपका request कर रहा है आपके server पे अगर वो register कर चुका है और उसके पास token exist करता है तो token वो भेजेगा हर request के साथ अब वो 10 request करें तो 10 request के साथ उसे token बेजना रहेगा वो
100 request करें 100 request के साथ उसे token बेजना रहेगा और अगर वो 1,00,000 request करता है तो भी हर request के साथ उसे token बेजन पाइकर के नहीं बता सकता था कौन से रिक्वेस्ट कहां से आ रही थी लेकिन इस बार अलग क्या है इस बार अलग यह है कि हर रिक्वेस्ट के साथ टोकन आ रहा है तो सर्वर पता है कि यह जो रिक्वेस्ट
आती है यह जो रिक्वेस्ट यहां पर आती है इस रिक्वेस्ट के जिस यूजर ने वहाँ पर रिक्वेस्ट किया था, तो सर्वर इस टोकन को बढ़ता है, इस टोकन के अंदर डिटेल निकलती है आपके ए यूजर की और जब उसको पता चलता है कि ओके
इस टोकन के अंदर ए यूजर की डिटेल है, तो वहाँ पर समझ लेता है कि यह जो रिक् पर पर पर पर पर पर पर पर पर पर पर पर पर पर पर पर पर पर पर पर पर पर पर पर पर पर पर पर पर पर पर पर पर पर पर पर पर पर पर पर पर पर पर पर पर पर पर पर पर पर पर
पर पर पर पर पर पर पर पर पर पर पर पर पर पर पर पर पर पर पर पर पर पर पर प यहां पर डिटेल है और सर्वर मानता है कि यह जो रिक्वेस्ट आ रही है यह सी उजर ने आपकी की है तो यहां पर सीन रहता है कि बाई सिंपल जो आपका टोकन है टोकन रेजिस्टर के टाइम पर जनरेट नहीं हो रहा होता है वह लॉग इन के टाइम पर भी जनरेट होता है
ऐसा होता है क्यों कि यह हमेशा के लिए रहता यह टोकन एक टाइम के बाद एकस्पायर हो जाता है कितने टाइम के बाद करता है website to website कुछ website उसको तीन घंटे में एक घंटे में कर दीती है कुछ website उसको तीन देन एक हफता एक महिना ऐसे
भी लेके जाती है तो डिपेंड करता ह अपने account को use करना है तो वहाँ पर आपको login करना पड़ता है और login की time पर आपको एक नया token मिल जाता है तो कुछ doubt आपके मन में अभी यहाँ पर और आ रहे होंगे like be user like यहाँ पर आपका यह be user है be user को
किसी तरीके से किसी तरीके से A का token मिल गया और अब अगर वो request करता है कोई सी पर request उसने किया और वो खुद का token नहीं भेज रहा वो A का token भेज रहा तो इस scene में क्या होगा यहाँ पर प्राब्लम है क्यों अब server यहाँ पर यहाँ पर यहाँ पर यहाँ पर रिक्वेस्ट को read करेगा token पड़ेगा token के अंदर
इसी को हमें समझना रहेगा इस वीडियो के अंदर यह उता नहीं है इस नहीं हो पाता आप यह एक्जेक्ली हम कैसे रोकते हैं इस चीज को यह भी इस वीडियो में हमें यहाँ पे समझना रहेगा बहुत अच्छा वीडियो है इसे आगे देखो बहुत सारी चीज़ें रहें� यह जो request आई है या एक जो request आई है वो किस user ने
की है अब exactly इसको कैसे हम implement करते हैं और दो चीज और हमें यहाँ पर समझने है क्या-क्या access token और refresh token यह दोनों क्या होते हैं इनको कैसे implement करते हैं इनको कैसे use करते हैं यह भी हमें समझने है तो चलो आगे बढ़ते हैं तो देखो यार अब हमने यहां पर वर्किंग देख लिए अब उसको एक्जेकली कैसे इंप्लीमेंट हम करते हैं वह हम यहां पर समझेंगे तो यहां
पर आते हैं सबसे पहले नोड़ जी इसका प्रजेक्ट हमें स्टार्ट करना है तो एक साथ करना है तो एक और पैकेज में � तो एन्पीम एक्सप्रेस मॉंगूस हम यहां पर इंस्टॉल करते हैं इंस्टॉल करने के बाद टेके इधर पर आते हैं एंड प्रोपर्टी में एड कर रहा हूं प्रोपर्टी का नाय
हम यहां पर टाइप मॉडियूल ताकि हम इंपोर्ट स्टेट्मेंट का यूज यहां पर कर सके ओके अब एक फोल्डर हम क्रिएट कर रहे हैं एस एस एस फोल्डर के अंदर हमारे पास ए
तो यह दर पर हम आएंगे और सबसे पहले हम इंपोर्ट कर रहे होंगे एक्सप्रेस प्रॉम एक्सप्रेस एक्सप्रेस हमने यहां पर इंपोर्ट किया और यह जो मेरे सजेशन से कुछ देर के लिए बंद कर सकता हूं कि आपको परिशान करेंगे यहां पर चालू कर सकते हैं
एक्सप्रेस कॉल कर दिया और एक्सपोर्ट हम यहां पर डिफॉल्ट बोल देंगे डिफॉल्ट हम क्या बोल रहा है डिफॉल्ट में यहां पर यूज करने जैसे की एप डॉट यूज यूज यहां पोलेंगे एक्सप्रेस.json
एक्सप्रेस.json और एक लॉगर में लगा रहा हूं लॉगर अ� सिंपल सा लॉगर आता है उसका नाम है मॉर्गन तो एन पीम आई मॉर्गन इसे आप इंस्टॉल कर सकते हैं इसे यूज करना बहुत ज्यादा एजी है तो इंपोर्ट मॉर्गन प्रॉम मॉर्गन आप इंपोर्ट कर लो
इंपोर्गन के अलग-अलग मोड्स होते हैं अगर आप यहां पर आऊगे तो इसके कंबाइन कॉमन डेव शॉट तो इनमें अगर आप अलग-अलग मोड यूज करते हो कंबाइन कॉमन तो इनमें अलग-अलग टाइप की डिटेल्स आती
हैं किसी मोड में आपको डीट और टा दिर में गया स्टेटस कोड किया रिस्पॉंस में यह सारी चीज़ा में डेव मोड पर बहुत इसली पता चल जाती है ठीक है तो इतना हमने यहां पर कर दिया और एक फाइल में और क्रिएट कर रहा हूं फाइल का नाम
हो यहां पर बोल रहा है सर्वर ने वाली इसके अंदर हम उसे इंपोर्ट करें अब एक चीज़ का द्यान रखना यहां पर डॉट जेस आपको लगाना रहेगा अगर यह डॉट जेस नहीं लगाना रहती है लेकिन यह नोट जेस ने थोड़ा सोच समझ के ही बनाया
है कि आगे जाके इस वैसे यह अच्छा फीचर है कि आपको यहाँ पर लगाना पड़ता है लेकिन आपके मन में आगे क्या लगाना पड़ रहा है तो यहाँ पर आते हैं डॉट
लिसन हम यहाँ पर करेंगे से स्टार्ट नम� और कॉल बैक जो हमारा यहां पर जाने वाला है यहां पर बूल सकते हैं क्या सर्वर इस रणिग ऑन पूर्ट 3000 इत्ता हम यहां पर बूल सकते हैं ठीक है तो हमारा बेसिक सर्वर सेट पर यहां पर यहां
पर चुका है पैकेज डॉट जीसन में बस में एक स्क्रिप्ट और एड सर्वर डॉट जी एक अगर कमांड में लिखता हूं एंपर रंडेफ तो मेरा सर्वर है वह सर्वर यहां पर बहुत इजीली स्टार्ट हो जाएगा ठीक है अब जो हमारा नेक्स्ट काम होने
वाला नेक्स्ट काम हम आपर यहां पर रहेगा कि बाइटाबेस से कनेट करना अब � इधर पर माइंगे साइन अप विद गूगल थोड़ा सा टाइम ले सकता है एधर पर एक अकाउंट में सेलेक्ट कर रहा हूं सेलेक्ट करने के बाद टेके वह
साइन निम और साइन निन के बाद तुरंट थोड़ा सा टाइम लेता है पता नहीं मोंगो डीवी की वेबसाइट है जब आप गूगल से साइन नाइन तो साइन अंकुर दिस दिस दिस यह रहा हमारा इमेल इसे लोग इन कर लेंगे तो अभी मुझे पता है कि तुम्हारी स्क्रीन पर सब एकदम ब्राइट ब्राइट हो चुका होगा अगर तुम रात में देख रहे होगे तो एकदम अचानक से उजाला हो गया है
लेकिन ठीक है कोई बात नहीं है अब देखो यहां पर मैं एक नया प्रज तो अब आज तो खेर संडे कल में उनसे रिपोर्ट माँगोगा वाई कैसा क्या आपने पढ़ा है तो नया प्रोजेक्ट हम क्रिएट
करने प्रोजेक्ट का नाम में आप प्रोजेक्ट करने के आद बहुत जादा टाइम नहीं लेगा तुरंत ये क्रिएट हो जाएगा एंड � और हमारे cluster का नाम रहेगा मुंबई रीजन हम यहां पर सेलेक्ट करेंगे और यह मुझसे पूछता है कि बस कौन कौन सी है ठीक है और के से किया verify करने के बाद हमारा अथेंटी किया मतब capture यहां पर complete हो चुका है
और इधर पर आते हैं अब देखो हमारा क्लस्टर यहां पर कंप्लीट है लेकिन क्लस्टर से करने के लिए हमें कुछ और सिक्यूरिटी यहां पर स्टेबलाइस करने पड़ती है जैसे कि आई पी एक्सेस का मतलब होता है कि वह आपके क्लस्टर से कौन-कौन सी आई पी कर सकते अलाव कर रहा हूं that is 0.0.0.0 तो यह जो आई-पी रहती है अगर आप इसे एड कर देते हो तो इसका
मतलब यह है कि दुनिया में जितनी भी आई-पी एड्रेसे से उन आई-पी एड्रेसे से आप अपने क्लस्टर से कनेक्ट कर सकते हैं तो यह मैं क्यों कर रहा हूं यह सर्फ किया क्योंकि जो आपके लैप्तॉप का यह जो भी आपके सिस्टम का आई पी अगर
आप मुबाइल होट स्पॉट को यूज कर रहे थे तो वह हर कुछ टाइम में चेंज होता रहता है हर तीन चार छे घंटे में वह चेंज होता रहता है वाइफाई से अगर आप कनेक्ट है त यहां पर
बोला यूजर का नाम रहेगा पास्वर्ड ने करवाया इसे किया कॉपी और इसे मैंने एक बिल्ट इन रोल दे दिया बिल्ट इन रोल हमारा जाएगा एटलास एड़ मिन तो एड़ हुआ हमारा यूजर यूजर एड़ होने के बाद जो इसका पास्वर्ड मैंने क� प्रोजेक्ट ओबर व्यू के अंदर क्लस्टर मेरा यहां पर आना चाहिए क्लस्टर से कनेक्ट करने
के लिए कंपस कंपस के अंदर आएंगे यह रही हमारी यूरल इस यूरल में पासवर्ड जो रहता है वह पासवर्ड प्लेस ओल्डर में नहीं दिया जाता है तो इस पासव इस
एप्लिकेशन को आप यहां पर डाउनलोड करना रहेगा तो बस इस एक एप्लिकेशन का काम क्या होने वाला है तो जो डेटा आपके डेटाबेस में इस्टोर होगा उस डेटा को बस देखने के
काम में आएगी और कुछ काम नहीं और कुछ काम नहीं और कुछ काम नहीं अब ही के लिए आगे जाके थोड़े बहुत निकल सकते हैं लेकिन अभी के लिए सिर्फ डेट और यह कैसा दिखती है तो कुछ ऐसी दिखेगी हाँ मैंने इसकी जो तीम है वो डार्क करके रखाऊं आपको हो सकता है लाइट तीम में मिले तो आप उसे भी सैटिंग में जाके कर सकते हूं तो इधर पे बटन रहेगी एड
नियू कनेक्शन की इसमें आपसे यूर आई मां� तो सेवेंट करनेट और यह रहा मेरा वाईटी ओध क्लस्टर जिसके अंदर अभी एक भी डेटावेस एक्जिस्ट नहीं
करता अब अब देखो हम क्या करने वाले यह जो हमारी यूर ऐसे प्लीन टेक्स फॉर्मेट में आप यूज नहीं कर रहे हो तो यह हमेशा जाती है आपकी .env file में और .env
file के अंदर हम एक URL क्रिएट करते हैं एक URI रहती है mongo uri equals to this uri तो uri आपके कुछ इस तरीके से जा रही होती है अब सुनो जो आपकी .env file के अंदर जितने भी आप
आपकी .env file के अंदर जितने भी आप अब सुनो एक चीज अब यह जो आपकी फाइल है इसमें जो आपके इंवार्मेंटल विरीबल्स रहते हैं इनको एकसेस करने के लिए एक पूरी लेयर रहती है तो कन्फिग करके हम एक और फाइल क्रिएट करते हैं कन्फिग फोल्डर के अंदर कन्फिग डॉट जेस तो कन्�
इसे इंपोर्ट करेंगे इंपोर्ट करने के बाद .env.config को कॉल करते थे एक चीज का ध्यान रखना जब तक आप .env.config को कॉल नहीं करते तब तक .env.file के अंदर आपने जितने भी वेरीबल्स क्रिएट किये होंगे उन्हें एक्सेस आप नहीं कर पाऊगे इस चीज का ध
और कॉंस्ट के अंदर हम यहां पे एक्सपोर्ट कॉंस्ट या एक्सपोर्ट डिफॉल्ट एक हम यहां पर कॉंस्ट नाम का औबजेक्ट क्रिएट करेंगे और इस औबजेक्ट के अंदर हम ओंगो अंडर्सकोर यूराइप्रोस्स डॉट यहां पर बोल सकते और कन्फिक को यहां से एक्सपोर्ट करतेंगे टीक है तो
यह जो हमारा डॉट यह वाला पार्ट था यह कंप्लीट हो चुका है और त डॉट जे एस और इधर पर इंपोर्ट करते हैं इंपोर्ट कर रहे होते हमारे मॉंगूस पैकेज को एक फंक्शन क्रियेट
होता है एक फंक्शन क्या रखेंगे देखो फंक्शन का नाम यहां पर रखते हैं कनेक्ट टू डी भी हम यहां पर बोलेंगे यहां से हटती है और ट और यह जो इसके अंदर यूराइज आने वाली वह यूराइज आप निकालोगे इंपोर्ट कनफिग
और लास्ट में डॉट जी एस आएगा इस चीज का आप ध्यान रखेंगे और कनफिग के अंदर जो हमारे पास मॉंगो यूराइज होने वाली इसका यूज हम कर रहेंगे � इतना हम यहां पर बूल सकते हैं और यह जो हमारा function यह जो हमारा function इसे by default यहां से export करवा दिया एक्सपोर्ट कनेक्ट टू डीवी और server.js
file में आएंगे और function को कर लेंगे import तो import import हम करवाएंगे connect to db function और इस function को यहां पर करते हैं हम कॉल करने का और जैसे आप अपने सर्वर को इस बार स्टार्ट करोगे तो यहां पर स्टार्ट हो जाएगा और सर्वर स्टार्ट होने के साथ साथ वो डिटाव से भी कनेक्ट हो जाता एक चीज का ध्यान रखना
इसको थोड़ा और अच्छा करते हैं तो बहुत बेसिक स्टफ इसका मतलब यह है कि यहां पर हम तुरंत ही
तो यहां पर इंवार्मेंटल विरियेबल इत्ता हम यहां पर सीधा सीधा बोल रहे होंगे तो यह बहुत अच्छी चीज रहते हैं कि जब तक आपकी .env file में required environmental variables ना हो तब तक आपका सर्वर स्टार्ट होई नहीं पाएगा और यह हमें करना रहता है और यह आपकी config.js file में �
चेक लगाते हैं कि वह वेरियेबल्स आपकी .env file में exist करते हैं या नहीं करते हैं और अगर नहीं करते होंगे तो आप वहीं पर तो जैसे कि देखो अब अगर मैं यहां पर आऊं यह जो मेरा पूरा पाटता है इसे मैंने यहां
से कर दिया डिलेट और अब अगर मैं server को एक ब स्टार्ट करता हूं तो डॉट यह फाइल के अंदर मौंगो यूराइज नाम का विए वल है और उसकी हैं से हम अपने डेटावेश से कनेक्ट कर पाते हैं तो यह थोड़ा और मतलब बहुत आपने ज़्यादा नहीं किया है बहुत चोटा सा काम किया है लेकिन यह quality को थोड़ा बड़ा रहा होता है यह एक चीज रहती कि बहुत को अगर आपका
junior आया है junior नया नया project में आया है उसको नहीं पता कि कौन कौन से variable वहाँ पे चाहिए रहते हैं उसको और उसने like repo को جو آپ کو یہاں پہ سیٹ کرنا پڑے گا تو یہ ایک تھوڑی اچھی بات
رہتی فیوچر میں جو آپ کے جونئرز آنے والے ہیں ان کے لیے یہ بہت اچھی بات ہو جاتی ہے ٹھیک ہے بھائیو تو یہ ابھی ہم نے آپ دیکھ لیا ڈیٹا بیس سے ہم یہاں پہ کنیکٹ کر چکے ہیں ڈیٹا بیس سے کنیکٹ کرنے کے بعد اب جو ایک یوزر ہمارا کیسا دکھنے والا ہے اس کی طرف یہاں پہ آگے بڑھتے ہیں تو ایک ہو یوزر ہمارا کیسا دکھے گا تو
اس کے لیے موڈل ہمیں और हम यहां पर import करवाएंगे mongoose from mongoose हमने यहां पर import करवाया import करवाने के बाद now we are going to create user schema प्रक्वर्ट यूजर नेम
यूजर नेम जो हमारा रहेगा यह क्या होने वाला यहां रहेगा और अगर रहेगा और फिर अगर कुछ एरर आता है तो यहां पर यूजर नेम इस रिक्वाइड और यूनिक हम यहां पर यूजर नेम मस्ट भी यूनिक इतना यहां पर बोलेंगे और यहां पर यहां पर यहां पर यहां
पर यहां पर यहां पर यहां पर यहां पर यहां पर यहां पर यहां पर यहां पर यहां पर यहां पर यहां पर यहां पर यहां पर यहां पर यहां पर � तो बस अभी के लिए इतने ही हम करने वाले कि यूजर इसकी में तीन प्रॉपर्टी यूजर नेम इमेल और पासवर्ड और इसके बाद हम यहां पे क्रिएट कर देंगे कॉंस इसका मॉडल तो यूजर
मॉडल एक्वल्स टू मॉंगूस टॉट और मॉडल के अंदर हम यहां पर रहे हैं यूजर कलेक्शन और यूजर स्कीम हम यहां पर पास कर देंगा और जो मॉडल क्रिएट हुआ यहां से कर रहे हुए तो अब अगर देखो कि बेसिक स्कीमा बेसिक मॉडल हम यहां
पर क्रिएट कर चुके मॉडल को यहां से एक्सपोर यहां पर करेंगे और इसके अंदर हम इंपोर्ट कर रहे होंगे राउटर फ्रॉम एक्सप्रेस राउटर फ्रॉम एक्सप्रेस हमने इंपोर्ट किया और इक्वल्स टू राउटर हमने यहां पर क्रियेट किया और जो हमारा राउटर होने वाला इसे यहां से एक्सपोर्ट कर
राउटर हमने यहां पर किया इंपोर्ट करने क्या इसे डारेक्टली यूज कर सकते हैं तो यह जो मारा राउटर होने वाला है इसमें प्रिफिक्स हम यूज कर रहे हैं प्रिफिक्स क्या है अब यह कि जितनी भी एपियाई क्रिएट करोगे मतलब क्या अगर मैं यहां पर क्र तो इस एपियाई के आगे आपको प्रिफिक्स लगाना पड़ेगा प्रिफिक्स क्या होगा
अप्रिफिक्स लगाना पड़ेगा पूरा नाम क्या हो जाए और आपकी वह इस लैश एपियाई और पर यहां पर एक पूरा नाम होने वाले अब देखो यह जो आपकी अप्राइब होने वाली यह आप से रिक्वेस्ट बॉडडि में कुछ डेटा मांगी अब डेटा क्या मांगने वाले वहां
पर यूजर नहीं मांगा जाएगा वहां पर पासवर्ड मांगा जाएगा तीन उनको जो करने करने क्या करने वाले हुआ वह एक अलग फोल्डर के अंदर किया जाता है उन्हें क्या पर हो जाता है तो चुल करके आप एक और फोल्डर क्रिएट करोगे चुल और चुल और फोल्डर के अंदर आप एक फाइल
क्रिएट करते हो और इस फाइल के अंदर हम एक � तो रजिस्टर फंक्शन और रजिस्टर फंक्शन के अंदर रिक्वेस्ट और रिस्पॉंस दो चीज़े हमारे पास रहेंगे और रिक्वेस्ट डॉड़ी के अंदर से हमारे पास यहां पर कुछ डेटा आएगा डेटा
क्या कर रहेगा देखो यूजर नेम आएगा हमारे पा यहां पर जब में एक model create कर रहा था या बता रहा था कि मेरे database में user का data कैसा दिखेगा वहां पर मैंने कुछ चीजे बोला था क्या यूजर नेम जो हमारा होने वाला है वो क्या रहेगा unique
email क्या रहेगा यूजर नेम और email हमारे पास आ रहा है कही इस username और email से को user already exist तो नहीं तो इसको चेक करने के लिए हम कैसे चेक करने वाले इधर पर आते हैं इंपोर्ट हम करवाएंगे यूजर मॉडल फ्रॉम मॉडल फोल्डर के अंदर यूजर मॉडल फाइल और इधर पर हम चेक करेंगे इस अल्रेडी
तो इधर पर हमाएंगे find one करेंगे और find one करने के बाद एक डॉलर और करके हमारे पास operator होता है इस operator के अंदर हम और condition में user name के basis पर find करेंगे और हम यहां पर find करेंगे email के basis पर देखो अब यहां पर मैं query लगा रहा हूं इस query का मतलब क्या हुआ exactly इस
query का मतलब यह है कि वह अगर इस यूजर नेम से भी एक्जिस्ट करता होगा या फिर सिर्फ इस इमेल से भी एक्जिस्ट करता होगा तो यूजर हमें पता चल जाएगा और हम वहां पर बोल सकते हैं यह जो यूजर नेम है यह जो इमेल है इन दोनों में से किसी एक से को यूजर अल्रेडी एक्जिस्ट कर और जेसन फॉर्मिट
आपने यहां पर बोलने के बाद अगर यूजर और यहां पर हैंडल कर चुक है अगर यूजर एक्जिस्स नहीं करता है यहां पर नया यूजर को क्रियेट कर सकते हैं नहीं यूजर को क्रियेट करने के लिए उसका पासवर्ड
रहता है पासवर्ड को आप कभी भी पासवर्ड को आप कभी भी प्लेन टेक्स फॉर्वेट में स्टोर नहीं कर रहते हैं आप � तो कैसे इस टोर होता है तो वह इस टोर होता है तो आपके यहां पर आपके मन में कुश्यन आना चाहिए कि हैश वारवेट में क्यों इस टोर नहीं हो रहा होता है क्योंकि कभी किसी
कारण से डेटा बेस लीक हो गया तो आपका अटैकर है उसके पास सीधे तरीके से आपका प् तो हैश फॉर्मिट में स्टोर करने के लिए हमारे पास यहां पर एक पैकेज होता है पैकेज का नाम है
क्रिप्टो में हमारे पास यह एक पैकेज ही इन बिल्ड आता है नोट जेस के अंदर तो इधर पर हम आते हैं कॉंस्ट हैश पासवर्ड एक्वल्स टू क्रिप्टो डॉ यूजर दो टॉट
क्रियेट के अंदर हम यहां पर बोलेंगे के बाद नौब यूजर ने यूजर ने रिक्वेस्ट किया आपके server ने उस data को save कर दिया, आपके database में वस यहां तक हम
पहुचे हैं, अब इसके आद करना क्या है, क्योंगे अब हमारा server जो होने वाला, यह token create करेगा, और token create करने के बाद, वो उस user को दे देगा, यह हमें यहां पे करना है, तब token कैसे create करते हैं तो
देखो token create करने के लि� टेके यहां पर आएगा और आर्गुमेंट हैंडलर इस रिक्वाइड यप तो जो हमारा ओठ राउट होने वाला है इसके अंदर यहां पर अभी तक हम ने यूज नहीं किया ठीक है तो पहले एरर आ रहे हैं उसे एरर को हम
फिक्स कर लेंगे तो चैन्ट्रोलर के अंदर यह ज controller from जो मारे चंट्रोलर फोल्डर है उनके अंदर और जो मारी फाइल है उसमें हमने जितने भी चंट्रोलर से उन सबको ऐसा और कंट्रोलर की तरह रिक्वायर कर लिया और इधर पर आके मैं बोल
रहा है और आप क्या करना है अब हमें यहां पर जो यूजर के डीटा है उसके साथ कोड लिखेंगे अब टोकन क्रिएट करने के लिए अगेन हमें एक पैकेज की जरूरत पड़ती है पैकेज का नाम क्या रहता है पैकेज का नाम है जेसन वैब
टोकन ये एक पैकेज हमारा रहता है इस पैकेज को आप कर लो इंस्टॉल करने के बाद इसे हम यहाँ पे करेंगे जे डबलूटी नाम से हम इसे इंपोर्ट करते हैं अब देखो यह आपका जेसन वैब टोकन रहता है यह आपका जेसन वैब टोकन यहाँ
पर रहता है इस टोकन को यह बोल सकते हो इस पैकेज को एक टोकन क्रियेट करने के लिए एक चीज के जरुत पड़ती है जो रहता है आ� किया होगा अगर वो टोकन किसी और ने क्रिएट किया होगा तो सर्वर वहाँ पे उसी उसर को मना कर देता है कि भाई सौरी जो आप रिक्वेस्ट कर रहे हैं यह जो टोकन आपका आ रहा है यह टोकन
मैंने क्रिएट किया नहीं हूँ मैं आपको कोई भी काम वहाँ पर नहीं कर पर दे रहे होते हैं अब सवाल यह आता है कि यह जेड़व्लूटी सीक्रेट हम कैसे जनरेट करें तो जेड़व्लूटी सीक्रेट जनरेट करने के लिए बहुत जादा मुश्किल नहीं है
एक वेबसाइट है हमारे पास वेबसाइट का नाम है जेड़व्लूटी सीक्रेट ड यह आप अपनी लेंट कर लेना अब एक चीज़ का जान रखना लेंट जित्ती बड़ी रहेगी सिक्यूरिटी ज्यादा रहेगी लेकिन कम्प्यूटेशन पावर भी उत्ती ज्यादा जाती है तो एक बैलेंस डूंड
लेना और उसके असाब से एक जेड़ावलुटी टोकन को नया जे एक विरिएबल्स क्रिएट कर लो जे डवलूटी सीक्रेट और इसमें जे डवलूटी सीक्रेट आप यहां पर यहां पर यहां पर यहां पर दोगे जे डवलूटी सीक्रेट इस नॉट डिफाइन इन इनवार्मेंटल विरिएबल
और हम यहां से config object के अंदर एक और property create कर देंगे JWT secret इतना हम यहां पर कर रहे होंगे इतना करने के बाद now auth controller में हम आएंगे और जो हमारा config है config को भी यहां पर require या import हमें करना रहेगा so config from config folder के अंदर config.js और एक token हम यहां पर create करेंगे तो token equals to JWT.js
और साइन के अंदर मैंने तुम्हें बताया था कि यह जो टोकन क्रियेट होता है इस टोकन के अंदर उसी यूजर की डिटेल रहती है जिस यूजर ने रिक्वेस्ट की होगी अब वो डिटेल क्या हो सकती है कि है जो डेटा हमने डेटावेस में सेव किया था उसकी हम एक आई�
लुट यहां पर बताना पड़ता है तो यहां पर यहां पर रखेंगे और फिर एक चीज़ में तुम्हें और बताया था कि यह टोकन कितनी देर में इक्सपायर होगा वह आप यहां पर बता सकते हो विट एक्सपायर इन और अभी
हम यहां पर बोल रहा है वन डे इधर बहुत यहां पर बहुत सारे आते हैं आपके बास यहां पर एक घंटा होगा यहां पर बोल सकते हैं लेकिन अभी के लिए प्रेटी मज़ गुट यह बहुत ज़्यादा है मैं बता रहा हूँ वन डे बहुत ज़्यादा होता है एक पूरा मैकनिजम चलेगा उस पर हम बात करेंगे अब देखो टोकन आपका क्रियेट हुआ टोकन
क्रियेट होने के बाद हम response.status हमारा
जाएगा 201 और जेसन फॉर्मिट में हम यहां पर डेटा� रिसोर्स क्रियेट किया तो जब भी यूजर कुछ रिक्वेस्ट करता है और इस रिक्वेस्ट के साइड इफेक्ट में आप बोल सकते हो कि सर्वर साइट पर कुछ क्रियेट होता है तो रिस्पॉंस में जो इस्टेटस को जाएगा वा
आपका टू जीरो वन जा रहा होता है मै और हमारे पास यहां पर इमेल हो सकता है और टोकन जो हमारा होने वाला है टोकन भी हम यहां पर बेज देंगे इतना करने के बाद सर्वर स्टार्ट करते था एंपेम रंडेव जो हमारा सर्वर होने वाला है सर्वर बढ़िया तरीके से चल रहा है अब जो हमारा पोस्ट मेन जिसके अलसम एको टेस्ट कर सके वह यहां पे
देखते हैं तो पोस्ट मेन यहां पे हुआ ओपन एक नई वर्कस्पेस क्रिएट कर रहा हूं इसमें इसमें को टू चल रहा है को टू मैं अभी पढ़ा रहा हूं मैं को टू भी बस जल्दी कतम होने व पढ़िया कर रहे हैं लोगों ने क्या-क्या प्रोजेक्ट क्रिएट किया
है उसकी वीडियो में दिखाना चाहूंगा कि कि कि परफ्लेक्सिटी हमारा नया प्रोजेक्ट होने वाला है उससे पहले बस फेस को देख के वापके मूड को डिटेक्ट करता है डिटेक्ट करने के आ बना रहे हैं वो सब सब बना रहे हैं तो यह एक आप बात नहीं करने हैं अभी हम आते हैं और वर्क स्पेस में
हम एक बोल सकते हैं यहां पर बोल दिया एंड और एक नई request में create कर रहा हूं method इसकी रहेगी post request का नाम हम यहां पर बोल सकते हैं register register पे हम यहां पर बोलेंगे
register request का नाम रहेगा register और जो हमारी url जाने वाली हों हमारी रहेगे http colon slash localhost colon 3000 slash api slash auth slash register ठीक है और body के अंदर हम यहां पर raw format में json में डीटा भीजिंगे क्या डीटा में पास
जाएगा यूजर नीम यूजर नीम के बाद हम यहां पर बोल सकते हैं कि यह होगा हमारा इमेल इमेल में हमारे पास रहेगा यहां पर टेस्ट डाट कॉम और जो हमारा पासवर्ड होने वाला है तो फॉर पासवर्ड पार्ट हम यह यह कोई सब्सक्राइब करने के बाद जो हमारा यूजर
है वो रिजिस्टर हो गया उसका रिस्पॉंस हमें आ चुका है इस टीटा स्कोर टू-जीरो वन आ रहा है और यूजर का डीटा भी हमें देखने के लिए मिल चाहिए कि यूजर नेम इमेल और साथ ही साथ जो हमारा टो अब हमें एक ऐसा code लिखना है, जहां पर जो भी user request करें, या
जो भी user यहां पर request करता है, उस user को server identify कर सके, मतलब कि अगर B user request करता है, तो server successfully वहां पर identify कर सके, कि यह जो request आ रही है, B के पास से आ रही है, यह जो request आ रही है, A user के पास से आ रही है, और यहां पर यह जो request है, यह तो देखो यार
अब यहां पर करना क्या है अब हमें आवरे सर्वर पर एक ऐसा एंडपॉइंट क्रिएट करना है जहां पर लाइक यह रहा हमारा सर्वर और इस सर्वर पर हमें एक ऐसा एंडपॉइंट क्रिएट करना इसको आप बोल सकते हूं एपिए एपिए एपिए एपि इस
endpoint पर request करेगा server उसे identify करेगा कि कौन सा user request कर रहा है और उसी user की सारी डिटेल response में share कर देगा मतलब क्या मतलब कुछ ऐसा कि अगर यहां पर बी user यहां पर इस पर
इंड़ पर रिक्वेस्ट करता है तो होगा कि इस सर्वर पहले यहां पर इडेंटिफाइब करेगा कि यहां पर इडेंटिफाइब करेगा कि यहां पर इडेंटिफाइब करेगा कि वह रिक्वेस्ट कौन सा यूजर कर रहा होगा उसी यूजर की रिक्वेस् को पता चलागी ओके
बी रिक्वेस्ट कर रहा है तो बी की डिटेल रिस्पॉंस में शेर हो जाएगी सीम वे में आपका जाएगा यहां पे सी यूजर के वह अगर सी यूजर यहां पे रिक्वेस्ट कर रहा है तो पहले सर्वर आइडेंटिफाइगा कि कौन सा यूजर रिक्�
एक endpoint create करेंगे endpoint का नाम हम यहाँ पर रखने वाले हैं get slash API slash auth slash get me तो यह हमारे API का नाम होगा और auth router dot get me हम यहाँ पर ओलेंगे slash get me हमारे endpoint का नाम और इसमें controller जाएगा auth controller के अंदर
get me तब यह जो get me function यह अभी तब create नहीं हुआ है तो इसे create करेंगे so for this creation इधर पर हम आएंगे export असेंग अंदर नाव यह वाव फंक्षन फंक्षन का नाम यहां पर गोलिंग गेट मी रिक्वेस्ट रिस्पॉंज और रिक्वेस्ट रिस्पॉंज के अंदर नाव यह व्यार गोई तो देखो अब यह वह मारा कंट्रोलर इस कंट्रोलर के अंदर में लॉजिक क्या लिखना �
पहला लॉजिक रहेगा कि सर्वर कैसे आइडेंटीफाइब करेगा कि इस रिक्वेस्ट के अंदर या बोल सकते हैं यह जो रिक्वेस्ट है यह कौन सा यूजर कर रहा है तो यह लिखना है कि रिक्वेस्ट कौन सा यूजर कर रहा है उसे आइडेंटीफाइब करते हैं कि वह स
اب اس نے ریجسٹر کر لیا اس کے پاس ٹوکا نے जितने भी यूजर ने रेजिस्टर किया होगा उन सभी के पास टोकन रहेगा तब वो सर्वर पर जितनी भी रिक्वेस्ट कर रहे होंगे उन सभी रिक्वेस्ट में टोकन का आना जरूरी होता है यह टोकन कहां पर आता है
किस प्रॉपर्टी के अंदर आएका वह हम देख लें बोल सकते हो टोकन एक्वल्स टू रिक्वेस्ट टॉट हैडर्स और हैडर्स के अंदर हमारे पास ऑथराइजेशन में हमारे पास टोकन आता है मतलब यह सब हमने क्यों लगाए देखो ऑथराइजेशन यह जो हमारा है रहता है यह
कैसे आता देखो जब आप फ्रेंट में इस � टीक है तो गेट मी हमारे रिक्वेस्ट का नाम हो गया मैं इसकी पोस्ट रहेगी यूरल जो इसकी जाने वाली लोकल पोस्ट कॉलन 3000 स्लैश एपियाई स्लैश ऑथ स्लैश गेट मी हमारे एपियाई का नाम होगा और फिर
अगर आप यहां पर आओगे एडर के अंदर तो हैडर और बिएर के बाद यह इंडस्ट्री स्टेंडर्ड के
बाइब यहां पर आएगा शुरुआत में बेरर रहेगा बिएर के बाद एक स्पेस और फिर आपका टोकन यहां पर आ रहा होता है तो जब आप यह रिक्वेस्ट करेंगे तो रिक्वेस्ट के अंदर और और आपका टोक तो टोकन निकानने के लिए हम अधराइजेशन हेडर के अंदर यह जो ऑथराइजेशन प्रॉपर्टी इसे
रीड करेंगे और फिर यह जो ऑथराइजेशन के अंदर देखो इसके अंदर क्या आता है बियर प्लस इस प्लस आपका टोकन तो मुँआरा यह जो ऑथराइजेशन नहीं कर रहा होगा तो इसके लिए हम यहां पर यहीं पर रिटन कर जाते
हैं और मैसेज यहां पर बोल सकते हैं मैसेज टोकन नॉट तो यहां पर बोल सकते हैं और अगर हम यहां पर टोकन मिलता है अगर हम यहां पर टोकन मिलेगा देन हम टोकन को रीड करते हैं और उसके अंदर का जो भी यूजर करेट है उसे हम यहां पर निकाल सकते हैं अब टोकन को
रीड करने के लिए हम क्या करते हैं इधर पर डी कोड़ पिसे यूज करते हो ताकि आप वहां पर जो टोकन के अंदर डिटेल से उस डिटेल को यहां पर
पढ़ सकते हो यहां पर यूज कर रहे होगे तो इसमें जो टोकन के अंदर डिटा रहता यह डिटा कहां से आया जो आप टोकन को क्रिएट कर रहे थे रेजिस्टर के टाइम पर टाइम पर यहां पर डीटा आया था तो उसी डीटा को आप वापस से निकाल लोगे और
वो डीटा किसके अंदर आ जाएगा डीकोडिट के अंदर आ जाएगा तो अब देखना डीकोडिट के अंदर डीकोडिट को अभी अगर मैं यहां पर सिर्फ लॉक करवा दूँ टीकोड तोगन हमने हैडर के अंदर से निकाला अगर नहीं मिलता तो यह वाला पार्ट चल जाता है कि
वह टूकन है नहीं तो अगर मैं इसे भीजता हूं अगर यहां पर यहां पर यहां पर यहां पर यहां पर यहां पर यहां पर यहां पर यहां पर यहां पर यहां पर यहां पर यहां पर यहां पर यहां पर यहां पर यहां पर यहां पर यहां पर यहां पर
यहां पर यहां पर यहां पर यहां पर यहां पर यहां पर यहां पर यह एक आपजेक्ट आता है अबजेट के अंदर यूजर की आईडी है जिसकी यूजर को उने रेजिस्टर करने के आप उसका डेटा यहां पर यूजर की यहां पर आईडी है और यह टोकन कब क्रियेट हुआ था आई ए
टी इसका मतलब होता है इन श्लाइज अट मतलब कि टोकन क आपने यहां पर decoded के अंदर data निकाल लिया कि यूजर का यहां पर data अब उसी यूजर का data आपको पूरा send करना है तो हम यूजर को यहां पर find करेंगे const user equals to await user model.find
by id और decoded के अंदर जो हमारे पास id है उसके वीच से हम find कर लेंगे और response.status में यहां पर बोल सकते हैं 200 जीसन फॉर्मेट में यहां पर यूजर का जो डेटा है उसमें यूजर नेम और इमेल भेजते हैं और एक मैसेज वहां पर भेज सकते हैं मैसेज हमारा क्या होगा मैसेज हमारा यहां
पर होगा यूजर फैज्ट सक्सेस्वुली यह आप र यह तो पोस्ट में था पोस्ट में के अलावा एक एक्स्टेंशन आता है आपके वी एस कोड में एक एक्स्टेंशन आता है और एक्स्टेंशन का नाम क्या एक्स्टेंशन का नाम है
थंडर क्लाइंट एक्स्टेंशन का नाम है यहां पर देख पाऊगे एक्स्टेंशन का नाम तुम यहां पास एक एक्स्टेंशन आता है इस एक्स्टेंशन को आप यहां पर इसे इंस्टॉल कर सकते हो जिसका यूँ रहेगा वह कुछ-कुछ पोस्ट में जैसा ही आपको देखने के लिए इसे अभी के लिए मैं पहले वाली रिक्वेस्ट नहीं कर सकता हूं तो यह नही
हम यहां पर क्या बोल रहा है एक और यूजर कर लेते हैं चलो एक नया यूजर हम यहां पर क्रिएट कर लेते हैं मैं इसकी पोस्ट रखते हैं http colon slash localhost colon 3000 यह थंडर क्लाइंट है कि अगर किसी को नहीं पता है तो आप बूल सकते हो कि जो पोस्ट में कर सकता है कि वाई क्लाइं�
पोस्ट में में हमने टेस्ट यूजर को रजिस्टर करवा था थंडर क्लाइंट पर टेस्ट यूजर को यहां पर रहे होंगे तो अप्यारा होगा टेस्ट अंडर्सकोर टू और एक
चीज़ा हमारी और जाएगे इमेल और इमेल हम यहां पर बोल सकते हैं कि टेस्ट अंडर्सकोर टू एड़ डरेट टेस्ट डॉट कॉम और फाइनली जो हमारा पासवर्ड जाएगा तो पासवर्ड जो हमारा जा रहा होगा यह रहेगा हमारा टेस्ट थी कैसे किया सेंड करने के आद रिस्पॉंस में तुम देखोगे हमारा यूजर यहां पर रिस्प एक नई रिक्वेस्ट हमने क्रिएट किये में इसकी गैठे और जहां पर मैं रिक्वेस्ट करने
वाला हुआ हुमारा होने वाला है एक चीज भोल रहा हूं इसको हमने बोल दिया ऑथराइजेशन ऑथराइजेशन के अंदर वेल्यू हमारी जाएगी यहां पर बियर
पर फोर फोर नौट फांड मिल रहा है तो के गैट में यहां पर इसे किया सेंड तो जो यूजर जिस यूजर का टोकन यूज कर रहे थे उस यूजर की डिटेल आपको देखने के लिए मिल जाती है तो बढ़िया चल रहा है कि जो यूजर गेटमी
एपियाई पर रिक्वेस्ट करेगा जिसका टोकन रिक्वेस्ट के अंदर रहेगा एक doubt आपके मन में आना चाहिए, जैसे कि postman पे कौन सा user logged in था, test user logged in था, जो मेरा thunder client है, इस पे कौन सा user logged in है, इस पे मेरा test to user logged in है, लेकिन
अगर किसी तरीके से, ये जो test user का token है, ये अगर test to user को मिल जाए, और उसने वो token use कर लिया, उसने अगर वो token use कर लिया, तो क्या होगा तो अब अगर आप इसे देखोगे तो यहां पे token test user ने यूज किया और अब वो
क्या कर पा रहे हैं अब server मान रहा है कि request test user ने की लेकिन server मान रहा है कि test user के side से request आ रही है तो यह problem है अब इस problem को हम कैसे solve करेंगे उसकी तरफ आगे बढ़ते हैं चल तो देखो यार अभी जो current तो देखो यार सीन यह है कि यह तो हमारा सर्वर जो सांदी से अपना
काम करता रहता है लेकिन प्रॉब्लम यह कि इधर पे एक यूजर है उपर से खौपी कर लेते हैं जल्दी हो जाएगा तो एक हमारे पास यहां पर यूजर आता है और इस यूजर का नाम है हमारे पास यहा दोनों ने अपने अपने टाइम पर
रेजिस्टर करने के बाद सर्वर ने दोनों के लिए टोकन जनरेट किया जैसे कि जो अपने यूजर ए था इसके लिए टोकन यहां पर जनरेट किया गया तो टोकन यहां पर जन्रेट हुआ हमारे यूजर के लिए और टोकन भी यहां पर जन्रेट हुआ हमारे
यूजर के लिए ठीक है तो अब हमारे सर्वर ने एक हमारा जो सर्वर था सर्वर पर हमने एक एक एक एक क्रियेट किये थे एक का नाम क्या था एक का नाम था एक नाम था एक एक ए गेट मी और इस API पे जो भी यूजर रिक्वेस्ट करता था सर्वर उस यूजर को सबसे बहले तो वो इडेंटिफाइ करता था कि यूजर ने रिक्वेस्ट की है और उसी यूजर
की डिटेल वो रिस्पॉंस में रिटर्न कर दे रहा था तो अगर ए रिक्वेस्ट कर रहा था � डीटा आपको response मिल जाता है सेम चीज आपको कौन करेगा यूजर कर रहा था ठीक है तो यहां तक कोई प्रॉब्लम नहीं थी क्योंगे और बी जब रिक्वेस्ट कर
रहे थे तो वह अपने अपने टोकन रिक्वेस्ट में भेज रहे थे तो यहां तक कोई प्रॉब्लम नहीं ह एका टोकन था एका टोकन ले लिया और रिक्वेस्ट कर दिया एके टोकन के साथ अब सरवर यहां पर क्या बोल
रहा है सरवर यहां सरवर के वर्किंग तो सेम है क्यों जो रिक्वेस्ट के अंदर टोकन आ रहा होगा उस टोकन को यहां पर आइडेंटिफाइ किया जाएगा उस देंगे अब देखो अगर सिर्फ डेटा सेंड करने के बात यह उतनी बड़ी बात नहीं
होती लेकिन अगर हम यहां पर माल लेते कि यह एक बैंकिंग सर्वर रहता और बैंकिंग सर्वर में हमारे पास यहां पर एक एपियाइए होती कि लेट से ट्रांजेक्शन या अकाउं� और ट्रांजेक्शन में हमारे पास यहां पर रहता कि एक फाला फाला अकाउंट में हमें
एक्स वाइजएड अकाउंट में कुछ अमाउंट ट्रांसफर करना है और रिक्वेस्ट टॉडड बॉडड़ी में हम यहां पर अमाउंट बता देते कि वह अमाउंट यहां पर जो रह 400 400 हम यहां पर amount बोल दिया तो अब एक चीज समझना कि जो भी इस API पर request करेगा तो इसका मतलब क्या है कि यूजर जो हमारा है वो XYZ
account पे 400 रुपे यहां पर transfer करना चाहता है similar भी इस API को hit करेगा तो इसका मतलब क्या हो कि भी जो है हमारा वो XYZ account पे 400 रुपे यहां पर transfer करना च transfer होगा यह amount किसी और account से भी तो कटेगा यह जो जितने पैसे यहाँ पर transfer हो रहे हैं वो किसी के account से transfer होके किसी और के
account में पैसे जा रहे होंगे तो अब यह जो amount है यह जो यहाँ पर amount है यह किसके account से कटेगा जो user request कर रहा है उसी user का account होगा और उसी user के account से हम इतने पैसे को cut क अकाउंट से हम 4 से रूपो को कट कर रहे होंगे अगर बी ट्रांसवर करना चाहते है तो बी यूजर का जो अकाउंट रहेगा वह हम यहाँ पर ट्रांसवर कर
रहे होंगे अब तो प्राब्लम क्या हो जाएगी प्राब्लम यह हो जाएगी एकर बी यूजर ने यूजर का token किसी तरीके से चुरा लिया और इसने request कर दिया हमारे इस endpoint पे कि यहाँ पर x, y, z account में 400 रुपों को आप transfer यहाँ पर कर दो तो problem क्या हो जाएगी problem यह हो जाएगी कि वह सर्वर token को पढ़ेगा
token के अंदर detail निकलेगी यूजर की और वो यूजर के account से transfer कर देगा 400 � तरीके से टोकन को इस टोर कर रहे होते हैं अब देखो प्राब्लम कहा से आई प्राब्लम आना ही चालू होती है जब यूजर को किसी तरीके से तोकन मिल जाता है अगर बी यूजर को टोकन नहीं मिला या किसी और यूजर को किसी
और का टोकन नहीं मिलता है तो हमारी ये प्रावलम कभी शुरुआत कभी होती है तो अगर किसी का टोकन किसी और यूजर को मिल गया तभी
वहां से प्रावलम स्टार्ट हो जाती है तो अब � होगी पहली होती है लोकल स्टोरेज पहले हमारे पास यहां पर लोकल स्टोरेज आती है और दूसरे नंबर पर यहां पर रहती है तब लोकल स्टोरेज के साथ बात यह रहती है कि अगर आप ब्राउजर को क्लोज कर भी
दोगे तो भी उसके अंदर डेटा रहता है लेकिन पढ आप जो क्लाइंट साइट पे जावा स्क्रिप्ट चलती है उस जावा स्क्रिप्ट से आप लोकल स्क्रिप्ट को रीड कर सकते है तो आपका अटेकर रहेगा उसको जादा कुछ नहीं करना है बस आपके जो क्लाइंट है
जो आपका ब्राउजर है वहां पे उसको एक अपनी ब तो लोकल स्टोरीज में अगर आप टोकन को स्टोर कर रहें तो वहां से टोकन को चोरी करना यह बहुत इजी पड़ता है बस अटैकर को एक स्क्रिप्ट रन करने और वह बहुत इजी हो जाएगा लेकिन अब तो बात आती कि
कुकी में टेक्निकली स्टोर किया जा सकता है लेकिन कुकी में एक प्रॉब्लम रहती है कि वहां पे एक प्रॉब्लम है प्रॉब्लम वहां पर क्या जाती है तो वहां पर क्लाइंट साइट के जावा स्कृट रहती है वह कुकी में जो भी टोकन रहेगा उसको
� अब यूजर वहां क्या गड़ सकता है यूजर यहां पर कुछ ऐसा कर सकता है कि अब वह एक ऐसी जावा स्क्रिप्ट लिखेगा आपके क्लाइंट साइड पे जहां पर एक फॉर्म बनाएगा उस फॉर्म के एक्षन वाले टैब में एक लिंक देदेगा लिंक वह देदेगा � और ट्रांजेक्शन में जो भी जिस अकाउंट में उसको ट्रांसवर करना रहेगा यह वो यूरल देदेगा और यूरल देने के बाद मैथड यहां पर बोल सकता है पोस्ट कुछ इस
तरीके से method वो यहाँ पर post बोल सकता है और यह जो form उसने create किया होगा JavaScript client side पर attacker लिखेगा तो इस form को बहुत easily submit भी करवा देगा तो क्योंकि अब आपने token को cookies के अंदर store किया था तो cookies का दो बहुत simple रहता है कि वह client side से ठीक access नहीं होगी लेकिन जो आपको request
करवानी थी वह request तो आपने फ cookies में store कर सकते है local storage में अगर हम रखेंगे तो token महां से direct चोरी होने का problem हो जाती है अगर cookies में रखेंगे तो token महां से direct access ही हो जाएगा problem यह हो जाती है तब solution कहाँ, solution पहली बाद तो यह रहती है कि यह जो हमारा token रहता है ना हम इसे local storage में रखते
हैं ना हम इसे cookies में रखते हैं औ टोकन को हम रखते हैं मेमोरी में यहां पर टोकन ना लोकल स्टोरेज में जाएगा ना कुकीज में जाएगा वो कहां पर जा रहा होता है मेमोरी के अंदर जा रहा होता है अच्छा ठीक है लेकिन मेमोरी में
भी प्रॉब्लम निकल के आती है फिर वहां पर मेमोरी में क्या प्र लेकिन प्रॉब्लम है क्या
वहां पे जैसी page reload होगा memory खाली हो जाती है याद करो सारे variable जो आप create करते हो वह वापिस से reinitialize होते हैं और इसकी वज़े से memory में token आपका नहीं रह पाएगा परसिस्टेंट नहीं रह पाएगा तो इसका solution कहा है इसका solution निकलता है कि आप दो token आप यहां पर use कर रहे होगे कौ
और एक आपका यहाँ पे रहता है refresh token तो refresh token यह दोनों ही token जब आप register करते हैं या जब आप login कर रहे होते हैं तो उस time पे generate होते हैं तो हमारी जो register API उसको थोड़ा बहुत modify करना रहेगा लेकिन सुनना जो इसका solution है उसका solution कुछ इस तरीके से निकलता है कि आप access token और refresh token दोनों क
यहां पर एक्सेस टोकन के यल्ब से पता कर सकता है कि रिक्वेस्ट कौन सा यूजर कर रहा होता है अब यह जो एक्सेस टोकन रहता है ना इसे हम लोकल स्टोरिज में स्टोर करेंगे ना कुकी में स्टोर करेंगे यह जो हमारा एक्सेस टोकन इसका एक ही रोल रहता है क्या कि �
यह नॉर्मल आपके टोकन की तरह काम करता है जहां पर पढ़के बता सकता है कि यूजर ने पेज आपका रिलोड कर दिया यह जो आपकी यहां पर नहीं रहा क्योंकि उसका यही रूल है
कि वह अगर आपका पेज रिलेट हुआ अब यहां पर काम में आता है आपका refresh token अब refresh token के साथ हम क्या करते हैं एक specific API होती है एक अलग API हिट होती है हमारी और इसका नाम ही क्या रहता है इसका नाम ही रहता है refresh अब यह जो refresh token यह बोल सकते हैं
जो हमारी refresh API रह इस API पर जो आपका user रहेगा वो इस API पर request करता है और इस API में आप access token के साथ नहीं जा सकते इस API में अगर आप जा रहे हो तो आपको यहाँ पर refresh token के साथ ही जाना पड़ेगा access token का आप use नहीं कर सकते तब देखो refresh token में क्या होता है, server आपको refresh token पढ़ता है, और इस token
के बदले में, server आपको यहाँ पर return करता है, क्या return करता है, server आपको यहाँ पर return करता है, आपका access token, और यह आपका एक दूसरा access token रहता है, कुछ इस तरीके से काम किया जाता है
तो यह आपका refresh token है आप बोल सकते हो कि यह आपका refresh token रहता है जिसके हल से आप वापिस से access token बना सकते हो लेकिन अब problem वही हो जाती है problem क्या है कि अब यह refresh token को कहां पे store किया जाए तो सुनो यह जो आपका refresh token रहता है इसे आप store करते हो कहां token को इस टोर नहीं करते क्योंकि उसकी वज़े से जो आपका टैकर रहेगा वो
क्लाइंट साइट पे स्क्रिप्ट रन कर सकते तो एक फॉर्म बनाएगा फॉर्म के हल्ट से किसी भी इंड पॉइंट को हिट कर बा सकता है हां भेने बिल्कल बोला, लेकिन अगर cookies में आप store करते हो, cookies में अगर आप store करोगे, तो यह जो request जाएगी, यह जो यहाँ पर request जा रही होगी, यह जो request जा रही होगी, cookies के अंदर token, cookies के अंदर token कौन सा रहेगा, वो तो हमारा रहेगा, refresh
token हाँ refresh token रहेगा, तो refresh token के साथ, जब server � नया access token generate करना refresh token को हम बिल्कुल use नहीं करते कि यहां पर transaction के time पे refresh token use नहीं होगा transaction में तो आप सिर्फ access token use कर सकते हो
refresh token का सिर्फ और सिर्फ एक काम होता है क्या नया access token generate करना तो अगर cookies में आप refresh token रखते भी हो यह cookies में अगर आप refresh token रखते भी हो तो भी अगर अटेकर यहां पे एक फॉर्म को समिट करवा पाता है तो कुकी जा रिफ्रेश्ट टोकन सर्वर तक पहुचेगा लेकिन सर्वर क्यों अगर दिखता है क्यों कि यहां पर रिफ्रेश्ट टोकन आया है
ट्रांजेक्शन के लिए तो सर्वर उसको साफ मना कर देता है कि सौरी भा वहाँ पर ट्रांजेक्शन वह नहीं कर पाएगा तो हम प्रॉपर ऑथेंटिकेशन के लिए कॉंबिनीशन यूज कर रहे होते हैं वह कॉंबिनीशन क्या रहता है एक्सेस टोकन का और
रिफ्रेश्ट टोकन का अब इसमें और भी बहुत सारी चीज़े होती है इसमें सेशन करे तो देखो यार अब access token और refresh token कैसे बनते हैं उनको हम कैसे सेट कर रहे होते हैं यह हमें
सबस्चना है तो रेजिस्टर यह जो हमारा controller था है इसे हमने अल्रेडी क्रिएट करके रखा था इसमें हमें एक token क्रिएट कर रहे थे अब देखो इसमें हम टोकन सिर्फ एक क्रियेट नहीं होता है पहली बात तो यहां पर मल्टिपल टोकन क्रियेट हो रहे होते हैं पहला रहता है एक्सेस टोकन जिसका यूज करते हुए यूजर हमारे सर्वर पर किसी फीचर को यूज कर सकता है और दूसरा रहेगा रिफ्रेश टोकन जिस
तो क्या है कि access token का जो टाइम रहता है या बोल सकते हो कि कितनी देर में वह expire होका वह रहता है सिर्फ 15 मिनिट या यह रहेगा हमारा सिर्फ 15 मिनिट मैक्स यह हमारा मैक्स 15 मिनिट रहता है और refresh token हमारा तुम बोल सकते हो साथ दिन 15 दिन इतने लंबे यहां पर जा सकते एक्सेस � बोल सकते हो
साथ दिन पंदरा दिन ऐसे जा सकते हैं तो अच्छा गर एक्सेस टोकन पंदरा मिनिट में इस पायर होगा तो एक यूजर तो पंदरा मिनिट से ज्यादा ही यूजर कर रहा हो तो फिर वहां पर क्या होगा तो देखो जैसी एक्सेस टोकन आपका एक्सपायर होग
बाकि अपना काम कर सकता है तो एक्सेस टोकन का जो एक्सपारी टाइम रहेगा 15 मिनिटे रिफ्रेश्ट टोकन का बहुत बड़ा हो सकता है तो इधर पर आते हैं और जो हमारा टोकन होने वाला है इसकी जगह अब हम यहां पर यूज़ कर रहे हूंगे एक्सेस टोकन हम यहां � मिनिट्स और 15 मिनिट्स के बाद आप आपने यहां पर जनरेट करने के
बाद और रिफ्रेश्ट टोकन और रिफ्रेश्ट टोकन का जो एक्सपारेशन टाइम रहेगा यह काफी ज्यादा रहता है तो इसमें आप जो आप यूजर की ट्रेल रहती वह पास कर दोगे और एक्सप टोकन के नीम पर ही जो
आपका एक्सेस टोकन होने वाला है इसे मैं भी सकता हूं ठीक है तो एक्सेस टोकन हमने आप विजिए एक काम करते हैं टोकन ही हम यहां पर भीज़ते हैं और देखो एक्सेस्टोकन क्या जाता है एक्सेस्टोकन जो आपको होने वाला है तो इसको रिस्पॉंस की बॉड़ी में भीजना ज़़रूरी होता है लेकिन जो आपका
रिफ्रेश्टोकन है यह रिफ्रेश्टोकन आपके क्लाइंट साइ� पार्सर यह आपको पैकेच चाहिए रहता है और वापिस जो हमारा सर्वर होने वाला है इसे हम कर सकते हैं रन इसे कि हमने स्टार्ट करने क्या सर्वर हुआ स्टार्ट और जो हमारी डॉट जीएस फाइल में आएंगे और जो
हमारा कुकी पार्सर होने वाला है कुकी पार्सर क यूज नाइस इतना यूज करने के आद और कंट्रोलर के अंदर अब रिफ्रेश्ट टोकन आपका अल्रीडी बन चुक है रिफ्रेश्ट टोकन को रिस्पॉंस टॉट के अंदर आप यहां पे सेट कर दोगे और इस पे आप लगाते हो कि यह एच्टीटीपी आउनली ट्रू रहेगा एच्टीपी आउनली ट्रू सिक्यूर्टी और सेम साइट स्ट्रिक इसका मतलब क्या होता
है कि जो आपकी क्लाइंट होने वाला है वह कुकी में जो भी आपने � रीड लाइक कुकी के अंदर जो डीटा है उसे रीड वो नहीं कर पाएगी सेक्यर टू
सेम साइट स्ट्रिक और मैक्स यहां पर जो होने वाली वह हमने आप बोल दिये साथ दिन के बाद जो आपका कुकी आपने स्टोर किया होगा वह अपने आप वहां से हट जाएगा यहां � रिफ्रेश्टोकन हमारे यहां पर काम कर रहा है अब मॉंगोडीवी कमपस में हमने कुछ यूजर्स क्रिएट किये थे मॉंगोडीवी कमपस में और पास यहां पर टेस्ट नाम का डेटावीस आ रहा है क्योंकि हम जब क्लस्टर से
कर रहे थे क्लस्टर में हमने उदर पर डे� तो पोस्ट में पर आएंगे को की बार दिखा देता हूं तो कुकी में लाइक
कोई भी कुकी नहीं एक नए उसर में रिजिस्टर कर रहा हूं इसे कि हमने यहां पर सेंड करने के बाद यहां पर जा रहा है और जो हमारा रिफ्रेश्ट टोकन आपको यहां पर देखने के लिए मिल जाता है यहां पर
रहेगा तो रिफ्रेश्ट टोकन यहां पर बहुत अच तो वहां से चोरी हो सकता है वरना उसके चोरी होने के चांसे तब तक नहीं है जब तक आपका लैपटॉप चोरी नहीं हो जाए यह आपका पूरा जो फ्रंटेंट पर जो भी क्लाइंट का डिवाइस वह पूरी तरीके से कॉम्प्रमाइस हो चुका है और अगर बात इस स्टे आपका मुबाइल अगर चोर होता है तो अगर आप अपने पासवर्ट को रिशेट भी करना
चाहते हो तो जो पासवर्ट रिशेट वाला फीचर रहता है उसमें अधिकतर आपके मुबाइल नंबर पर टीपी जाता है लेकिन आपका मुबाइल नंबर रहता किसके अंदर आपक और कोई सा अथेंटिकेशन सिस्टम नहीं रहता जो आपके अकाउंट को बचा आपाए यह वाला
सीन रहता है तो अगर लोकल स्टोरिज के अंदर से वे तो ही एक्सिस टोकन बिना डिवाइस को कॉंपरमाइस कि चोरी होने के चांसे रहते हैं अगर वो कुकी के अंदर है तो � लाइक एकसेस कर पाओ यह सीन रहता है तो एकसेस टोकन हमारा यहां पर आचुका है हम मेमोरी के अंदर उसे सेव करेंगे ना कुकी के अंदर ना लोकल स्टोरिज के अंदर अब जो हमारे रिफ्रेश्ट टोकन है रिफ्रेश्ट
टोकन के साथ हमें यहां पर एक काम और करना र और एडिन पॉइंट जो हमारा होने वाला है वी कन नेम इट विट अप्याइश एप्याइश रिफ्रेश्टोकन इधर पर आते हैं ओध डाट ओध राउटर तो ओध राउटर
रिफ्रेश्टोकन और एक रिफ्रेश्टोकन के साथ क्लाइंट इस एप्याइप रिक्वेस्ट कर सकता है नए एक्सेस टोकन को जनरेट करने के लिए बात इतनी सी रहती है बस तो यह रिफ्रेश्टोकन हम यहां पर आएंगे और और और कंट्रोलर
के अंदर इस फंक्शन को क एक्सपोर्ट एक्सिंग फंक्शन रिफ्रेश्ट टोकन वियर वग्ट यूज्ट रिक्वेस्ट रिफ्रेश्ट रिस्पॉंस और रिक्वेस्ट रिस्पॉंस के अंदर हमारे पास आएगा रिफ्रेश्ट टोकन जो में
कुकी से मिल जाएगा और अगर कुकी से हमें टोकन नही और अगर रिफ्रेश्टोकन मिलता है तो हम यहां पे एक नया एक्सेस टोकन जनरेट करेंगा वो एक्सेस टोकन हम कैसे जनरेट कर रहे होते हैं किसी यूजर के डिटेल उसके अंदर रहेगी तो रिफ्रेश्टोकन के अंदर जो
यूजर हमें मिला था तो कॉंस्ट डिकोड़ आप यहां पर यूजर का डिटा यहां पर फाइंड कर सकते हो लेकिन जो एक्सेस टोकन जनरेट करते हैं उसके अंदर हमें जो डेटा देना रहता है वो रहती जिर्फ यूजर की
आईडी और यूजर की आईडी अल्रीडी हमने रिफ्रेश्ट टोकन के अंदर देखे रखी थ और चाहते हैं यहां पर आते हैं
एक्सेस टोकन जनरेट करवाएंगे एक्वल्स टू जब्लूटी डॉट साइन और साइन के टाइम पर हम यहां पर बोल रहे होंगे आईडी हमारी जाएगी डिकोड़ेड जाएगी और फिर हमारा यहां पर जाएगा जे डब्लूटी सीक्रट टोकन जो हमारा एक्सपायर हो रहा होगा ठीक है तो एक्सेस टोकन आपका
बन गया एक्सेस टोकन बनने के बाद इस टोकन को हम रिस्पॉंस में वापिस से सेंड कर देंगे तो रिस्पॉंस टॉट स्टेटस और स्टेटस में हम यहां पर बोलते हैं 200 और जैसन
फॉर्मिट में यहां पर क्रिएट कर चुके और बस मुझे क्या करना रहेगा पोस्ट में पर मैं आता हूं बस मुझे यह एक ए है तो देखो जो हम API यहां पहेट करने वाले हो हमारी होने वाली hdp colon slash localhost colon 3000 slash
api slash auth और जो हमारा refresh तोकन है तो अब क्योंकि जो हमारे रिफ्रेश्ट टोकन था वह कहां पर सेफ था वह हमारी कुकी के अंदर सेफ तो जो भी रिक्वेस्ट में करें उसके साथ वह अपने आप टोकन पहुच जाता है तो अगर मैं यहां से
रिक्वेस्ट कर दो तो टोकन जाएगा जो हमारा एक् तो देखो अब यहां पर सीन क्या होता है कि आपको एक्सेस टोकन मिल जाएगा और एक्सेस टोकन का यूज करते हुए आप अपने सर्वर पे नॉर्मली काम बहुत एजीली करवा सकते हो तो यह बड़ी है चीज है एक्सेस
टोकन रिफ्रेश टोकन आप यूज करते हैं कि अग एडिशनल सेक्योरिटी के लिए यहां पर एक्सेस टोकन तो नया जनरेट करी रहे होते हैं यहां पर एक्सेस टोकन तो जनरेट करेंगे ही करेंगे सेम टाइम पर इधर पर रिफ्रेश्ट टोकन बहुत
बोल सकते हो कि कैसा रहता है refresh token साथ दिन तक चलता है साथ दिन तक वो token चलने वाला है तो अगर साथ दिन के बीच में अगर किसी ने किसी तरीके से बाई बीच में वो आया client side पे cookies को बस copy करके चला गया वो तो उसके पास refresh token रहता है और refresh token अगर वह एक्सेस कर पारा तो साथ दिन तक वह नए एक्सेस टोकन को
जनरेट कर सकता है और नए एक्सेस टोकन के साथ वह सर्वर पे उस यूजर की बहाफ पर कुछ भी कर पाएगा तो इस वज़ेसे हम क्या करते हैं कि जब भी हम एक एक्सेस टोकन रिफ्रेश कर रहे होते है यहां पर हमारा हो गया और इतना बोलने के बाद नाव जो हमारा इसे रिफ्रेश्ट को सेट करना रहेगा हमें कुकी
इसके अंदर यह अगेन हमारा रहता है एक्षट ट्रेक्ट और मैक्सी जो हमारी रहेगी वह सेवन डीज की रहेगी तो हर बार जब भी हमारा एक्सेस टोकन बोल सकते हो कि हमें एक नया रहता है तो उसी सेम टाइम पर रहता है और जो हमारी सेक्योरिटी रहती वह चलती रहती यह वाला एक सीन रहता है तो
इसे किया सेफ सेफ करने के बाद अब अगर आप देखोगे तो देखना भी कुछ चीज़ें यहां पर देख लो बस की वी एस � तो जो होता है साथ हमारे रहता है वह भी यहां पर चेंज हो जाता है तो यह काफी बड़ी चीज रहती है कि आप रिफ्रेश्ट टोकन को भी रोटेट करते रहते हैं तो इससे अगर होता यह कि रिफ्रेश्ट टोकन अगर बीच में कभी ना कभी या किसी से गलती से लीक हो ग
अटेकर के पास दो-तीन मिनिट के लिए था और उस दो-तीन मिनिट में उसने आपका रिफ्रेश्ट टोकन निकाल लिया तो अगले 15 मिनिट में एक नया रिफ्रेश्ट टोकन आ जाएगा और जो पुलाला रिफ्रेश्ट टोकन रहता है उसका हम इन्वैलिडेट कर देते हैं व
टोकन और रिफ्रेश टोकन का यूज करते यूजर की सिक्यूरिटी के लिए अब इसमें कुछ फीचर समें और इंप्लिमेंट करने उसमें क्या आता है उसमें हमरे पास यहां पर आ रहा होता है कि वही सारे डिवाइस से एक साथ लॉग आउट करना तब सारे डिवाइस से हम � देखो अब में यहां पर फीचर बना रहा है लगाउट करने का तो लगाउट करने का फीचर कैसे काम करता
है तो यहां पर दो टोकन होते हैं पूरे अथेंटिकेशन सिस्टम में एक्सेस टोकन एंड रिफ्रेश्ट टोकन तो एक्सेस टोकन जो रहता है यह शौट लिव रहता यह जो एक्सेस टोकन होता है यह एक्शेल में यूज किया जाता है यूजर को
सर्वर पर अथेंटिकेट करने के लिए या बोल सकते हो कि जो रिक्वेस्ट आ रही है उस रिक्वेस्ट में आइडेंटिफाई करने के लिए कौन सा यूजर रिक्वेस्ट कर रहा है और यह जो र करते हैं सेशन कर रहे होते हैं कि वहाँ कौन कौन से यूजर ने यह जो एक यूजर या भी एक डिवाइस
पर तो यूजर के पास जनरली दो डिवाइस होते हैं एक उसका प्राइमरी डिवाइस जो उसका मुवाइल फोन होता है और उसका होता है और किसी के पास आई पैड है � यह like max to max max चार डिवाइस तक आप एक यूजर के पास
देख सकते हैं तो अब हम यहां पर करते क्या है हम हर एक डिवाइस के लिए सेशन मेंटेन करते हैं हमारे सर्वर पर सेशन के अंदर क्या-क्या रहता है तो सेशन के अंदर हम जनरली कुछ चीजों को स्टोर कर रहे होते हैं पहला कि प्रॉब्लम निकल के आते कि अगर डेटाबेस लीक हो गया तो रिफ्रेश्ट टोकन पास चला
जाए और रिफ्रेश्ट टोकन के यूज करते हुए एक एकसेस टोकन को जनरेट कर ले और पूरा आपका अकाउंट को परमाइस हो जाता है तो हम यहां पर रिफ्रेश्ट टोकन क यहां पर यूजर एजिंट रहता है यूजर एजिंट रहता है यूजर एजिंट रहता है यूजर एजिंट रहता है
यूजर एजिंट कौन सा ब्राउजर वहां पर यूजर एजिंट फिर टोकन कब क्रियेट हुआ था प्रियेट हमारे पास रहेगा और एक हमारे पास यहां � रखते हैं और एक हमारे पास ठीक है तो इतनी चीज़े रहते हैं
यूजर के अंदर यह हम हर सेशन यह यूजर जितने भी यहां पर यूज कर रहा होगा हर एक के लिए एक सेशन हम क्रियेट कर रहे होते तो आप देखो इसके लिए क्लिए क्लिए क्लिए क्लिए लेकिन लोगा रिवोक का मतलब क्या रिवोक का मतलब देख रिवोक का मतलब बाइडिफॉल्ट होता
है और अगर यह तू हो गया अगर यहां पर यह तो यह जो भी रिफ्रेश्ट टोकन रहता है इस रिफ्रेश्ट टोकन का आप वापिस से यूज नहीं कर सकते एक्सेस टोकन को जनरीट करन
टोकन को एकदाम कर देते हैं रिफ्रेश्ट करके तो इस टोकन का यूज देन आपका यूजर नहीं कर पाएगा वापिस से टोकन करने के लिए इसको कैसे करते हैं उसकी तरफ हम यहां पर आगे बढ़ेंगे तो इधर पर हम आते हैं और मॉडल्स के अंदर आगे बढ़ेंगे
एक्वल्स टू न्यूं मॉंगूस डॉट स्कीमा और न्यूं मॉंगूस डॉट स्कीमा के अंदर सेशन की स्पैलिंग गलत है तके सेशन स्कीमा और इसके अंदर हम क्या-क्या बोल रहे होते हैं यहां पर यूजर बोलेंगे तो यूजर रियक्ट से तो नहीं करना इसको यू� यहां पर बोलेगे बोराएगा हमारा एक
आपजेक्ट आइडिया रेफ्रेंस वारी यूजर कलेक्शन रहेगी रिक्वाइड के बाद हम यहां पर रिफ्रेश टोकन रिफ्रेश यहां पर रहेगा और यहां पर
रहेगा और यहां पर पर identify कर सकते तो इस वाज़े से यूजर एजिंट पर हम जनरली स्टोर सेशन के अंदर
कर रहे होते हैं और रहे होते हैं और टाइम स्टैंप्स में करने के लिए और और अपडेटेट को मेंटीन करने के लिए यहां पर ताइमस बोल देंगे ट्रू और ट्रू बोलने के आद यह हमारा सेशन है इसको हम क्रिएट कर देंगे एक मॉडल में
तो मॉडल नौ सेशन मॉडल एक वाल स्टू मॉंगू स्टॉर्ट मॉडल और मॉडल के अंदर हम य एक्सपोर्ट हम यहां पर कर रहे हूंगे डिफॉल्ट और डिफॉल्ट में सेशन यहां से एक्सपोर्ट कर देंगे कि इस बार अब क्या होता है कि जो
आप रहे होते हो तो रिजिस्टर के टाइम पे ही जहां रिफ्रेश्ट टोकन बना रहे होते हैं तो इसी टाइम पे हम एक सेशन भी क्रिएट करते हैं तो पर हमाएंगे जो हमारा सेशन मॉडल है इंपोर्� सेशन आप जो आपका रहता है पहले आप रिफ्रेश्ट को क्रिएट करते हो और उसके
बाद आप एक्सेस टोकन को जनरेट कर रहे होते हो तो यहां पर आप आओगे रिफ्रेश्ट टोकन आप पहले क्रिएट करोगे और रिफ्रेश्ट टोकन को क्रिएट करने के बाद आप य यहां पर यूजर आईडी बोलेंगे रिफ्रेश्टोकन आप डायरेक्ट हैश में नहीं भेजोगे तो हम यहां पर कॉंस्ट रिफ्रेश्टोकन है जो हमारे रिफ्रेश्टोकन का है
उसको हमारे रिफ्रेश्टोकन है उसको हमारे रिफ्रेश्टोकन है उसको हमारे रिफ्रे� जो है शोने वाला है उसे यहां पे स्टोर कर रहे होते हैं साथ ही साथ जो आई पी होने वाली आई पी और जो हमारा यूजर एजन्ट यूजर एजन्ट को यहां पे स्टोर कर रहे होते हैं ठीक है यूजर एजन्ट हमारा चाहेगा और रिवोक टट तो हमारा बाइड़ डेप यह चीज का ध्यान रखना यह आपका
एकसेश टोकन के अंदर रखते हैं ताकि उसको अगर बाद में जरूरत पड़े तो बहाँ पर उसे यूज किया जा सके इतना करने के बाद तो अब यह जो आपका refresh token है रिफ्रेश्ट टोकन जनरेट होगा लेकिन साथ ही साथ उसका सेशन साइट पे भी यूज कर
रहे होंगे सेशन को स्टोर करेंगे हमारे क्लाइंट साइड पे इतना करने के बाद जो हमारा मॉंगोडी भी कंपस है इस पर आते हैं यूजर एक क्रि� ने विट विट विट ऑथेंटिकेशन ऑथेंटिकेशन रजिस्टर हमारा जाएगा रजिस्टर गया गेट मी भी हम यहां पर सेव कर वाएंगे और फिर यह जो हमारा जाएगा यह जाएगा हमारा
रिफ्रेश्ट टोकन टेकर रिफ्रेश्ट टोकन या टीक इसको रिफ्रेश् इसे भी हम करेंगे सेफ सेम कलेक्शन के अंदर तो रजिस्टर गेट मी और इसका नाम यह कैसे हो गया नाम तो इनको दिया था
रोटीट टोकन टोकन टोकन हमारे पास यहां पर आ चुका है तो रजिस्टर पर एक नए यूजर नए यूजर क्या टेस्ट जो हमारा है इस यूजर को वापिस रेजिस्टर कर वाते हैं तो इसे कि हमने यहां पर इंटर्नल सर्वर और और इंटर्नल सर्वर में क्या है कि सेशन सेशन
एर्र क्या बोल रहा है तो यूजर यहां पर रिक्वाइड है ओक हमने यहां पर यूजर पास कर दिया यू� तो यूजर नेम और डी एक्जिस्ट टीक है यूजर तो हमारा रेजिस्टर हो गया था बट सेशन क्रिएट नहीं हो पाया था तो तो अब
वापस से यूजर क्रिएट करेंगे तो अब जो हमारा यूजर हो यहां पर हो चुका है यूजर रेजिस्टर सक्सेस्टर हो ली टेस्ट टोकन हमारे पास टोकन हमारे पास कुकीज में से वोगा और से से से यहां पर होने चाहिए तो देखो अब अगर तुम देखोगे जो हमारे पास सेशन यहां पर क्रियेट हो रहा
है यह सेशन किस यूजर का है हमारे पास हमारे पास हमारे पास हमारे पास यहां पर आ ज जो आप लॉग आउट करते तो लॉग आउट के टाइम पर होता क्या है लॉग आउट के टाइम पर बहुत जादा चीज़े नहीं हो रही होती है बहुत सिंपल सा एक काम होता है देखो सबस्टाइब हम
यहां पर लॉग आउट की एक एक रिएट कर ले तो लॉग आउट कंट एक्सपोर्ट एक्सिंग फंक्शन लॉग आउट रिक्वेस्ट एंड रिस्पॉंस रिक्वेस्ट रिस्पॉंस लॉग आपके आता
लॉग आपके जनरली हमारे पास रिफ्रेश्ट टोकन आएगा तो उसी रिफ्रेश्ट टोकन को हम पहले निकाल लेते हैं refresh token यह हम निकालते हैं cookies के अंदर से और इस refresh token को वापिस से हमारे हैश में क्योंकि हमने token सेव किया था वह हमने कहां पर सेव किया था हमारे यहां पर लाइक रिप्रेश टोकन जो आप देख रहे हो वह हैश फॉरवट में हमने सेव किया हमारे database
में तो अगर database में इस refresh token को वाप आप यहां पर 400 भीज सकते हो डिपेंड करता है कि आप क्या वहां पर चाहते हो तो अभी के लिए 400 यहां पर भी सकते हैं जैसन और जैसन फॉर्मिट में हमारे यहां पर मैसेज चला जाएगा रिफ्रेश्ट टोकन नौट और अगर
रिफ्रेश्ट टोकन मिलता है तो से हम करें यहां पर निकालेंगे इधर पर या सेशन इक्वल स्टू अवीट सेशन मॉडल डॉट फाइंट वन और फाइंड वन एंड अब्डीट हम यहां पर बोल सकते हैं लेकिन हम यहां पर
फाइंड वन करते हैं पहले और बीसिस आफ रिफ्रेश्ट टोकन है और इतना करने के बाद इतना करने के बाद अगर हमें यहां पर सेशन नहीं मिला कि इफ नौट
और रिटर्न के बाद मैसेज इन्वैलिड रिफ्रेश टोकन अगर हमें सेशन मिल जाएगा तो इधर पर हम आएंगे सेशन रिवोक ट्रू और इसे कर देंगे आप डेटावेस में वापिस से से यह हो जाता है आपका लॉग आउट
और लॉग आउट करने के बाद दैन आप य यह वापिस से यूज नहीं होना चाहिए एक्सेस टोकन जनरेट करने के लिए तो अब जहां पर एक्सेस टोकन जनरेट हो रहा था हम वहां पर वापिस एक चेक लगाते हैं चेक हम क्या लगाएंगे लेकिन अब इससे पहले हम क्या करेंगे हम कॉंस्ट रिफ्रेश्ट टोकन क
एक्वल्स टू क्रिप्टो यहां पर हैस जनरेट करवाएंगे जनरेट करवाने के बाद कॉंस्ट हम यहां पर सेशन आइडेंटिफाइब करेंगे और सेशन आइडेंटिफाइब करने के बाद सेशन मॉडल डॉट फाइंड वन और फाइंड वन के अंदर जो हमारा रिफ्रे जो हमारा यह होना चाहिए रिवोग फोल्ट कि वाई सेशन अगर आपका रिवोग नहीं है
तो ही आप उस रिफ्रेश्ट टोकन का यूज करते हो नहीं डिट कर पाऊगे तो इधर पर हम बोलते कि इफ नॉट सेशन मतलब कि अगर सेशन हमें नहीं मिला देखो अगर सेशन हमे यूजर ने कहीं पर लॉग आउट कर दिया था और वह सेशन और रिवोक्ट हो
चुका है तो इस कंडीशन पर भी हम उस रिफ्रेश्ट टोकन का यूज करते हुए नया टोकन जन्रेट नहीं करेंगे तो पर बोल देंगे तो इतना बोलने के बाद रिफ्रेश्ट टोकन हमारा स ठीक है यहां पे सारी चीज़ें अब देखो यहां पे चीज़ हमें और अपडेट करनी रहेगी कि अगर यह जो हमारा रिफ्रेश्ट टोकन जनरेट होता है तो जो हमारा सैशन
आया होगा उस सैशन में हैश को अपडेट करना पड़ता है क्योंकि रिफ्रेश्ट टोकन जो है � टोकन हैश को में करेंगे और हैश में करने के बाद वेट सेशन और एक काम करते
हैं और इसे हम सेफ करते हैं हमारे डीटावेस में क्योंकि अगर आप रिफ्रेश्ट टोकन को चेंज करेंगे तो उसका जो हैश आप डीटावीस में सेफ कर रहे तो यह हम यहां पर कर रहे हैं इ तो लोगाउट एपियाई में थर्ड लोगाउट
में थर्ड हमारी रहेगी एच्टीटीप कॉलन स्लैश लोकल लोकल लोकल को अगर मैं से सेंड करता हूं तो लॉगाउट सक्सेश्वल हो चुका है और जो हमारा सेशन था वह रिवोग यहां पर यहां पर रहा है रिवोग ट्रू और अब मैं सेम रिफ्रेश्ट टोकन का यूज करते हुए टोकन को नया
एकसेश्ट टोकन जनरेट नहीं कर सकता है यहां पर आ जा � रिफ्रेश्ट टोकन नौट फाउंड यह क्यों जा रहा है पूर वन रिफ्रेश्ट टोकन को कीज के अंदर रिफ्रेश्ट टोकन जा नहीं रहा है क्या जब हो इन्हें रिजिस्टर किये थे तब रिफ्रेश्ट टोकन को कीज के अंदर नहीं गया था यह तो नहीं होना चाहि
एक बाट राय करते हैं तो कुकी में ठीक रिफ्रेश्ट टोकन यहां पर आया हमने क्लियर कर दिया था हमने वहाँ पर रिफ्रेश्ट टोकन जब हम लॉग आउट करते तो रिफ्रेश्ट टोकन कुकी से हम क्लियर कर देते हैं ठीक काम करते हैं कुकी के अंदर से यह जो हमारे � इधर पर आने के बाद वाला पाठी से क्या से लॉगाउट सक्सेस्टुली हुआ कुई के
अंदर से सारी कुकी यहां पर क्लियर हो चुकी को एड करते हैं जो हमारे रिफ्रेश्ट टोकन पर आते हैं इसे कि असेंड तो इन्वैलिट रिफ्रेश्ट टोकन यहां पर आ रहा है क दूसरा सेशन भी यहां पर हो चुका है तो जब कि लॉगाट वाली फीचर है यह फीचर आप यहां पर इंप्लिमेंट कर चुके हैं अब यहां पर कुछ डाउट आपको जरूर आएगा कि टोकन ठीक हम यहां पर लॉग आउट करते ही रिफ्रेश्ट टोकन अब
आगे यूज नहीं हो पाएगा नया एक्सिस टोकन जनरेट करने के लिए लेकिन यहां पर एक इस्यू निकल के आता है इस्यू क्या है कि एक्सिस टोकन का जो लेट से हमारे पास टोकन का टाइम है एक्स प्रिफ्रेश्टोकन हमने यहां पर रिवोक कर दिया मतलब कि लॉग आउट कर दिया लेकिन उतने
टाइम में यह एक्सेस टोकन तो भी भी वैलिड है मैं बोल रहा हूं यह एक्सेस टोकन वैलिड रहेगा यह यूजर इस टोकन का इस्टिल
यूज करते हुए आपके सर्वर मे आप एक ब्लैक लिस्ट क्रिएट करते हो यह जो ब्लैक लिस्ट रहती है जनरली रेडिस जैसे डेटाबेस में सेव होती जिसका थूपुट यहाँ पर एक ब्लेक्लिस्ट क्रियेट कर रहे होते हैं और इस ब्लेक्लिस्ट के अंदर यह आपका एक्सेस टोकन रहता है इसे हम जनरली यहाँ पर स्टोर कर देते हैं और जो आपका गेट मी या बोल
सकते हो सर्वर जहां जब रिक्वेस्ट को आइडेंटिफाइड कर रहा ह अगर ब्लेक्लिस्ट के अंदर टोकन निकला तो सर्वर वहां पर साफ मना कर देता है कि बाई सॉरी यह जो एक्सेस टोकन आप यूज कर रहे हैं यह लॉग आउट हो
चुका है यह अल्री हमारी ब्लेक्लिस्ट के अंदर है लेकिन यह बढ़िया चलता है कोई इसू नहीं है प जब आप यूज कर रहे तो वहां पर आपको बार बार डेटावेस में देखने की जरूवत नहीं पड़ती है तो लेकिन यहां पर जब जितनी बार भी रिक्वेस्ट आएगे आपको देखना पड़ेगा आपके रैडिस
जैसे डेटावेस में तो यह थोड़ा ब्रेक कर देता 10 मिनिट तक यह चलने वाला है उसके बाद यह अपने आप expired हो जाएगा तो जितनी देर में आप refresh token को log out करते हो इसको revoke करते हो तो उसके कुछ time तक max to max 10 मिनिट तक आप access token को use कर पाओगे access token अपने आप 10 मिनिट में expire हो जाएगा और वापिस से फिर आपको refresh token की जरूद पढ�
रहता है यूजर के पास लेकिन वह अपने आप कुछ टाइम के रहता है वहां पर यह सीन रहता है तो यह बिग जाइंड कंपनी करते हैं का एंड आप ट्रेड आफ से अगर आपको इंस्टेंटली यूज करना है तो ब्लेक लिस्ट आप वहां पर यूज कर सकते कि इंस्टें� डेटाबेस में जिसका तूपुट काफी जादा रहता है तो वहां पर अलग अडिशिनल कॉस्ट आपको
जोडनी पड़ती है प्लस रिस्पॉंस टाइप में भी थोड़ा सा इंप्रूब्मेंट वहां पर लगता है तो यह एक ट्रेड ओफ रहता है या तो आप इंस्टेंटल response time भी हर एक request का बढ़ रहा होता है तो यह एक चीज यहां पर रहती है तो अब देखो यह अभी हमने देखा एक single logout अब
हम यहां पर एक और API create करेंगे और यह जो हमारी होने वाली यह हमारी रहेगी logout to all जिवह जितने भी device होने वाले हम सभी से एक यह बार में logout कर दे तो इ यह हमें को और क्रिएट करेंगे एपिए हमारी यहां पर रहेगी और राउटर डॉटर डॉट गैट और गैट में हम आएंगे
लॉग आउट और लॉग आउट और लॉग आउट और यहां पर रिवोग करना है बस तो टोकन टीगे एक्सपोर्ट में आते हैं एक्सपोर्ट पास
एक्सपोर्ट पास एक्सपोर्ट पास एक्सपोर्ट पास रहेंगी और इस रिक्वेस्ट और रिस्पोंस के अंदर देखा हमें सबसे पहले निकालना रहेगा हमारा रिफ्रेश्ट टोकन हम निकालेंगे और अगर � decoded हम यहां पर निकालते हैं एक वल्स टू जे डवलू टी डॉट वेरिफाइए
वेरिफाइए हम निकालेंगे जिसमें रिफ्रेश्ट टोकन जे डवलू टी सीक्रेट हमारा जाता है और इसके बाद इसके बाद नाव हम यहां पर एक क्वरी रन करते हैं अब वह वेट सेशन म अपडेट मेनी क्या करेंगा अपडेट मेनी में हम यहां पे कंडीशन लगाते हैं कि यूजर जो हमारा है उसके सारे सेशन को ढूंडो और सेशन ढूंडने के बाद या आप यहां पर रिवोक के फॉल्स और उन सभी के सेशन को आपको रिवोक कर दो
मतलब कि रिवोक वहां प response.clear cookie कर देना और clear cookie करने के आद अब status code भेज देना
response.clear cookie कर देना और clear cookie करने के आद अब status code भेज देना 200 और logout from all devices successfully यहाँ पर हो जाएगा इतना भी आप यहाँ पर कर सकते हैं तो refresh token decoded यह साथ चीज़ तो यह जो आपने एक और functionality यहाँ पर बना दी जहाँ पर logout कर सकते हो अब मैं एक और जो हमारी बहुत basic functionality होती है हम इसे बह�
logout login value functionality हमें यहां पर create करना है login controller हमें यहां पर create करना रहेगा so register के जस्ट बाद export async function login request and response और इसके अंदर हम यहां पर बोल रहे हुँगे const email और
password email और password user com find करेंगे on the basis of email इमेल के वेसे हमने आपर फाइंड किया और यूजर अगर हमें यहां पर नहीं मिलता है मतलग कि जो इमेल यूज हुआ था वो गलत इमेल है उससे कोई भी उजर हमें नहीं मिला तो response.status हमारा यहां पर जाएगा 401 और जेसन फॉर्मिट हम
यहां पर response भेज रहे होंगे क्यों ह एक रिटन आपने करवा दिया रिटन करवाने के बाद अब हमारा जो पासवर्ड होने वाला उसे कंपेर करना रहेगा सो कॉंस्ट पासवर्ड कॉं करेंगे कंपेर पासवर्ड डाइजेस्ट और डाइजेस्ट करने के बाद कॉंस्ट एज पासवर्ड पासवर्ड चेक करेंगे पासवर्ड चेक करने के बाद पासवर्ड नहीं है सेम और रिस्पॉंस
चाहेगा इन्वैलिड एमेल और पासवर्ड और इतना करने के बाद हमारे जो फाइनल एकसेस और रिफ्रेश्ट टोकन होता
है उनको हम जनरेट करेंगे हमारा रि� नहीं हमारा जीड़ड़ूटी सीक्रेट जाएगा और कितने टाइम के वाद यहां पर बताना रहेगा चीक है और फिर हम यहां पर सेशन क्रिएट करते हैं तो कॉंस्ट रिफ्रेश्ट टोकन हैश और सेशन क्रिएट
करेंगे तो कॉंस्ट सेशन इक्वल्स टू अवेट सेशन token equals to JWT.Sign और sign के time पे हमें यहाँ पर ID, session ID, JWT secret और यह expire कब होगा और अब finally हमारे refresh token, access token यहाँ पर generate
हो चुके हैं, तो refresh token को हम set करेंगे हमारी cookie के अंदर, जसमें maxage यहाँ पर बताएंगे और response. cookie में हम set कर रहे होते हैं, response.
की में हम सेट करेंगे हमारे रिफ्रेश रिफ्रेश टोकन तो अल्रेडी सेट हो चुका है तो रिफ्रेश टोकन एक्सेश टोकन यहां पर जा चुका है अब रिस्पॉंस स्टेटस 200 लॉग डिन सक्सेश्वली और यूजर की डिटेल हम यहां पर बेज रहे होते हैं ठीक है तो तो इधर
पर आने के बाद नाओ ठीक है सारी चीज़ें तो अब एक बार लॉग इन हम और ट्राइब करके देखते हैं अभी अगर देखा जाए तो सेशन एक भी ऐसा सेशन नहीं है जो रिबॉट ना तब यहां यहां पर डिलीट हो गए और अब हम यहां पर आते हैं तो हमारे पास अल्रेडी एक यूजर हमें लॉग
इन करना है तो लॉग इन नाम से एक रिक्वेस्ट में क्रिएट कर रहा हूं मैथड जाएगी पोस्ट हमने मैं यहां पोस्ट पोस्ट रखे थे थे पोस्ट में पर आते हैं पोस्ट में पर आने क और लॉग इन बॉडी के अंदर हम यहां पर डीटा बोचेंगे
इमेल टेस्ट डाट कॉम और हमारा यहां पर पासवर्ड जा रहा होगा पासवर्ड हमारा रहेगा टेस्ट वन और टेस्ट रहेगा ठीक है तो इमेल हमारा जाए रहा है टेस्ट डाट कॉम पासवर्ड हमारा य लॉग इन यहां पर सक्सेस्वली हो जाएगा लॉग इन होने के बाद इधर पर सेशन जनरेट होगा जो अब यहां पर नहीं है और आप देखो आपके करना क्या है
हमारे पास एक थंडर क्लाइंट करके एक और एप्लिकेशन थी तो इधर पर भी मैं आप बोल सकते एक नई र localhost colon 3000 slash API slash auth slash login और हमें body के अंदर data भीजना जैसन format में तो सेम भी data रहेगा तो इसे मैं कर रहा हूं copy और यहां पर कर रहा हूं मैं
paste तो इसे किया send send करने का अब देखो मतलब कि यह thunder client और post में दो अलग-अलग device को यहां पर represent करते हैं और क्या मैं इन्हें नाम दे सकता हूं like तो यह जो हमारी लॉगिन की होने वाली इसे मैंने लॉगिन नाम दे दिया और यह जो हमारा यह तो गेट मी वाला था तो इसे भी में रिनेम कर दे रहा हूं विथ गेट मी और फाइनली यह जो हमारा रजिस्टर
वाला है रजिस्टर को मैं यहां पर रिनेम कर देता हूं वि� So request ka naam we can have here HTTP like API local host colon 3000
slash API slash auth slash refresh token wali endpoint refresh token wala यहां पर रिफ्रेश्ट करता है तो अगर मैं रिफ्रेश्ट टोकन अभी करवाता हूं तो
आप बोल सकते हो कि टोकन हमारा रिफ्रेश्ट हो जाएगा लेकिन अभी हम यहां पर कर वाते हैं अभी के लिए मुझे यहां पर लॉग आउट करवाने के लिए एक करूंगा तो जो मैंने पोस्ट में पर एक गेट मी वाला पाट था टेंपरेरी चलेगा क्योंकि एक्सिस टोकन
उत्ती जल्दी एकसपार नहीं होता है लेकिन रोटेट टोकन तुरंद बन हो जाएगा क्या हम वहां पर रि� rename कर रहा हूं with rotate tokens टेकर rotate tokens हमने किया और एक नई request में create कर रहा हूं method इसकी get होगी http colon slash localhost colon 3000
slash api slash path slash logout आपन और मैं करता हूं और मेरी कुकीज के अंदर हमारे पास रिफ्रेश्ट करता है तो प्राप्लम क्या कर रहा है वाट्स ता प्रॉब्लम
में आते हैं जो हमारा लग आउट और लुग आउट और रिफ्रेश्टोकन और अगर रिफ्रेश्टोकन हमें कुकी के अंदर नहीं मिला तो रिफ्रेश्टोकन नौट पाउंड यह जा रहा है इसेम रिक्वेस्ट हम ट्राइ कर रहा है रिक्वेस्ट
कंडिशन प्री इस दिस्क्रिप्टिंग कलेक्शन रिक्वेस् के अंदर नो कुकिश अविलेबल मैनेज कुकी यह कुकी जा नहीं रही है जो लोकल होस्ट वाली कुकी यह क्लाइंट साइट से जो मारा थंडर क्लाइंट वो थोड़ी से
प्राप्लम कर रहा है बट ठीक है इसका एक सल्यूशन और मैं पोस्ट मैं से जो मारा लगाउट आल व यह रिक्वेस्ट को मैंने किया सेव इधर पर आते हैं http colon slash local host colon 3000 slash API slash auth slash logout all अब अगर मैं इसे send
करता हूं तो logout और यहां पर चुका है और अब अगर में यहां पर रिफ्रेश्ट करने चाहूं टोकन को तो रिफ्रेश्ट करना चाहूं तो यह बढ़िया चल रहा है जो वारा लॉट फॉड़ा को की इस
वाज़े से पोस्ट में यूज किया जाता है तेंटर क्लाइंट बस ऐसे ही यह पोस्ट में यहां पर यूज करते हैं प्रोडक्शन पर तो बढ़िया चलता है ठीक एसे भी कर वा लेते हैं से तो जो हमारा लॉगाउट फॉम और यहां पर सक्सेस्वलिया हम इंप्लिमेंट कर चुके हैं और लॉगाउट और डिवाइस उस चुका है क्या क्य तो
इतनी सारी चीज़ हम यहां पे टोटल चे यहां पर हमारी बन चुकी है अब इसमें एक फीचर और बनाना रहेगा वह फीचर है क्या तो फीचर आप बोल सकते हो कि जब यूजर रेजिस्टर करेगा तो रेजिस्टर के टाइम
पर जो वह एमेल देता है यूजर जब तक उ बूल सकते हो डायरेक्ली ऑथेंटिकेशन का पार्ट नहीं है लेकिन एक अच्छा फीचर रहता है कि आपके जो वेबसाइट के रिसोर्से से वह बहुत यूज नहीं कर पाएंगे उनको एक सही
अकाउंट देना पड़ेगा और उस इमेल को ने वेरिफाय करवाना पड़ेगा प्यार देखो अब हम यहां पे एक ऐसा फीचर इंप्लिमेंट करना है जहां पर यूजर जब तक उसका इमेल को वेरिफाइब ना कर दे तब तक वह हमारी वेबसाइट के हमारी एप्लिकेशन के पूरे फीचर को एकसे नहीं कर सकता तो
इसको कैसे क्रिएट करने वाले हमारे � अभी तक जो हमारा registration का flow चल रहा था वो कुछ ऐसा था कि वह यह जो हमारा user है यह user request करता है हमारे server पर server किस चीज की request किस चीज कर रहते है request यहाँ पर रहते है रेजिस्टर करने की अब register जब user कर रहा होता है तो इसमें वह कुछ data भी provide
करता है अब data क्या हो सकता है data लेट से हम एलन मस्क एड़ रेड टेसला डॉट कॉम ठीक है तो इसने यहां पे एमेल हमें प्रोवाइड कर दिया अब सुनना यूजर नेम इमेल यह सारी चीज़ उसने
प्रोवाइड कर देता है एक पासवर्ड ठीक है पासवर्ड हमें प्रोवाइड कर देगा बड़िया चल रहा है को यहां पर हुआ क्या हमारा सर्वर अभी तक क्या करता था सीधा यूजर नेम इमेल पास्वर्ड के साथ यूजर का एक अकाउंट क्रियेट कर देता था और अकाउंट क्रियेट करने क्या एक्सेस टोकन रिफ्रेश टोकन दो चीजे वह जनरेट करेगा और दोनुचीजों को फ
दो चीज़े हमारे पास यहां पर रहती थी थी हमारा सर्वर यह कर रहा होता था और यह जो हमारा यूजर यह बहुत इस ली विद्धायलप आफ एक्सेस टोकन हमारे सर्वर के रिस्ट्रोर्स को बहुत एक्सेस कर पाता था अब इसमें प्रॉब्लम क्या जाती इसमें प्रॉ यह इमेल आपने वेरिफाय करवाया नहीं कि यह जो यूजर है यह यूजर
का जो इमेल एडरेस है एक वैलिड इमेल एडरेस है सही इमेल एडरेस है या नहीं है तो इससे प्राब्लम क्या हो सकती है इससे प्राब्लम यह हो सकती है कि अगर आपके सर्वर पर अगर आपको को� बुरी तरीके से बिजनेस में कॉंपीट करना चाहती है तो वो क्या कर सकती है आपके सर्वर पे बहुत सारे रिजिस्ट्रेशन कर देंगे विथ बॉट और वह आपके सर्वर के
जो रिसोर्स रहते हैं उनको बस ऐसी बीजी रखना चालू कर देंगी तो उसके लिए वो क्या क यूजर आएगा सर्वर पर रेजिस्टर करेगा सर्वर पर रेजिस्टर करने के बाद यह जो इमेल है इस इमेल को हम पहले वेरिफाइ कर रहे होंगे कि यह जो इमेल एड्रेस ही हमारे पास यह जो इमेल एड्रेस है यह इमेल एड्रेस पर हमारा जो सर्वर वह एक इमेल भे�
पर यहां पर यहां पर रहा होगा तो जब यूजर यहां पर रजिस्टर कर रहा होगा तो हमारा सर्वर इस इमेल अड्रेस पे एक बेज़ेगा बेज़ेगा बेज़ेगा तो तो अब क्योंकि अगर यह जो यूजर है यह जो हमारा यूजर है अगर यह इसी का email address यूज कर
रहा होगा तो इसके पास इस email address का access होगा और इस email address पे जो भी email आ रहे होंगे वो भी उसको access कर पाएगा तो यह जो हमारा यूजर रहेगा यह email address पे जाएगा उसको OTP मिलेगा औ आपका ही है तो इस से होता क्या है इस मेकनिजम से जो आपके बॉट रहते हैं लेकिन बॉट आपके सर्वर पे पहली बात करी नहीं पाएंगे अकाउंट वो
क्रिएट करी नहीं पाते हैं और इस वाए से आपके जो सर्वर पे रिसोर्स प्रेजेंट है उन रिसोर्स को भी बर प्रॉपर्टी हम क्रिएट करेंगे यूजर स्कीमा के अंदर तो सर्वर रेजिस्ट्रेशन के टाइम पर अकाउंट क्रिएट कर देगा डेटाबेस में यहां पर आपका डेटाबेस होता है इस डेटाबेस में जो आपका यूजर रहेगा रेजिस्ट्रेशन के टाइम पर य� लेकिन होता क्या है कि जो user create हुआ है उसका status या बोल सकते
हो जो उसका verified वाला status रहता है वो false रहता है क्योंग यूजर का account है लेकिन वो इस account के साथ हमारे server resources को access नहीं कर पाता और जब तक वो verified true न हो जाए वो हमारे server resources को access नहीं कर पाता अच्छा वो verified true कब होगा set तो verified true तब set ह करेगा सही ओटीवी प्रोवाइड करता है हम डेटाबेस में उसे अपडेट कर देते हैं विद
वेरिफाइड रूपे उसको सैट करते तो रूपे सैट करने के बाद देन वह हमारे सर्वर पे बहुत इजी ली सारे रिसोर्स को एकसे कर पाता है यह सीन रहता अब इसी पूरी � यहां पर बनाना है लेकिन उसके लिए हमें इमेल सेंड करने वाले फंक्शनलिटी चाहिए तो इधर पर यूज
करने वाले नोड मेलर अभी जो स्क्रीन पर आपको देख रहा है यह है पूरी डॉक्यमेंटेशन या बोल सकते है स्टेप स्टेप बाइस्ट वह गाइड है जिस
वीडियो नाम की और उसके अंदर हमारे पास एक फोल्डर है 026 नंबर का नोड मेलर का तो जब आप इस फोल्डर को ओपन करते हो तो उसमें ही आपको यह पूरी डॉक्यमेंटेशन देखने के लिए मिल जाती है अब इसको step by step हमें follow करना
है जिसकी शुरुआत होती है क्यों आ कर सकते हैं इनेवल इपी इस दिस दिस दिस इंटर्व्यू प्रेप तो पिछला वाला था एक नया प्रोजेक्ट हम क्रीट कर रहे हैं प्रोजेट का नाम यहां पर मैं दे सकता हूं वाई टी ओथ क्रियेट करने के बाद ठीक है प्रोजेक्ट को
क्रियेट होने में अराउंड 10-15 सेकंड यहां पर लग सकते हैं तो प्रोजेक्ट जैसी क्रिट हो जाएगा इस प्रोजेक्ट करना सेलेक्ट करने के बाद सेलेक्ट हमने किया अब आप यहां पर आओगे लाइबरेरी वाले सेक्
आप करना क्लिक पहला आपको दिख जाएगा इस पर करना क्लिक और इसे आपको करना रहेगा इनेबल ताकि जैसे आप यहाँ पे जीमेल की इनेबल करते हो तब ही आप वहाँ पे नोड मेलर के लसे एप यहाँ बोल सकते हैं इमेल
को सेंड कर पाओगे तो व्यू एंड मैनेज क्रेट करने से पहले आपको और प्रक्राइब को फुल्फिल करना रहता है तो यह जो और जाब की बेसिक डिटेल रहती है उसे आप यहां पर भर देना बस अप्लिकेशन का नाम आप यहां पर बोल सकते
हो वाई टी ओट सपोर्ट इमेल में जो भी आप इमेल यहां पर यूज और फिनिश करके से कर देंगे तो प्रियेट हो जाएगा अब एक चीज का ध्यान रखोगे इधर पर
जो आपकी और पाना क्लाइंट के अंदर अब हमने यहां पर एक भी क्लाइंट क्रियेट नहीं कि हमारे पास तो आप आना आप आने का यहां पर टेस्ट यूजर अगर आप नहीं करोगे तो बाद में किस टेप आती है जहां पर आपको अलाव करना पड़ता है कि आपके गूगल या जो आपकी एप्लिकेशन है वह आपके बिहाफ पर इमेल सेंड कर पाए तो उसे आप प्रोसेस नहीं क
और सेव करने के बाद यहां पर सेव करने का अब देखो वापिस आने के अब आपको क्या करना है अब आपको यहां पर फाइनले क्रिएट करना रहेगा तो क्रिएट करोगे गूगल और एक काम करें गूगल क्लाउट पर आने के बाद यहां पर एक आप्शन होता
है एपियाइंड सर्विसेस का अप्र आप आओगे क्रेदेंशियल के अंदर और और यहां पर आप एक नया क्रेदेंशियल क्रिएट करोगे जिसका टाइप रहेगा ओध क्लाइंट आईडी तो � आपको दो चीज़ा एड़ करने रहेगी पहला आपका रहेगा एच्टीप कॉलन स्लेश लिस्ट लोकल होस्ट यह आपकी और यहां पर एड़ कर दो दिस वन और जो आपका दूसरा होने
वाला यह रहेगा आपका प्लेग्राउंड का तो प्लेग्राउंड की यूराइब यहा क्लाइंट सीक्रेट और क्लाइंट आईडी यह दोनों चीज़े आ जाएंगी तो क्लाइंट आईडी इसे भी आप कॉपी करोगे और कॉपी करने के बाद जापकि डॉट यहां पर आगे आपका क्लाइंट सीक्रेट है क्लाइंट सीक्रेट भी आप यहां पर पेस्ट कर दोगे underscore secret equals to
लेकिन अभी के लिए आप आगे बढ़ो याला पेज क्लूज मत करना क्योंकि इसकी जरूत पड़ेगो और अगर आपने यह पेज वापिस से क्लूज कर दिया और अगर आपने डॉट इन दोनों चीज को आप वापिस से नहीं देख पाऊगे ठीक है अब यहां पर आगे बढ
प्लिक करने के बाद और यहां पर आपको आपका इमेल वाला पार्ट को आप सर्च कर सकते हो तो इमेल या जी मेल करके यहां पर लिखा आ रहा होगा तो यह आपका mail वाला पार्ट है पस्को सर्च किया हूं तो Gmail यह आपकी API
है इसमें से यह पार्ट रहेगा देखो Gmail API version 1 पर आपको देखने के लिए मिलेगा कि अगर आप इसे सेलेट करोगे तो आपके पास कौन-कौन सी परमीशन आ जाएंगी रीड कर पाओगे कंपोस कर पाओग और इसके अंदर आप चाहिए एक से अब भी के लिए बीच में रख सकते हैं चलो बीच में रख देते हैं इसे अब देखो यहां पर तुम्हें यूजियर
और और यहां पर क्लाइंट आइडिया और क्लाइंट सीक्रेट दो चीज़ें आपको देनी हैं तो क्लाइंट आइडि कर सकते हो आप पेस्ट कर दिया पेस्ट करने के आद इसे कर दो और क्लोज करने के बाद अब आप फाइनली यह जो आपका ऑथराइस वाला पार्ट है इसे आप कर सकते हो क्लिक क्लिक करने के बाद यह
पेज पर जाएगा पूछे किस अकाउंट को आप अलाओ करना चाहते हो कि जान रखना है यह जो अकाउंट आपका होने वाला यह अकाउंट वही होगा यह वही एमेल होगा जिसको आपने टेस्ट यूजर में एड किया होगा तो यह नहीं चलने वाला इसे किया वेरिफाइव करने के बाद कंटीनियू और कंटीनियू
तो आपके पास यहां पर एक और आपके पास यहां पर आपके पास यहां पर आपके पास यहां पर कर सकते हो और रिफ्रेश्ट को कॉपी करने के बाद अब यहां पर आओ आपके आपकी डॉट इन्वी
फाइल में और इधर पर रिखोगे गूगल अंडर्सकोर रिफ्रेश अंडर्सकोर टोकन और इसे कर दोगे यहां पर आकर पेस्ट बस आपने तक पास यहां पर तीन चीज़े आज जाएंगी क्लाइंट आईडी क्लाइंट सीक्रेट और रिफ्रेश टोकन और एक चीज़ आपके पास यहां �
इस इमेल को आप जो आपका Google user है उसकी तरह यूज कर रहे हो चार चीजे आपके पास जाएगा इतना करने के बाद अब आप से यहां पर बोला जाएगा आपको प्रोजेक्ट करना यह सारी चीजे लेकिन अब यहां पर डारेक्टली कर सकते हैं यहां पर डारेक्टली नोड मे
पर नपीनल पर नपीन इंस्टाल नोड मेलर और हमने यह जो डॉट इनवे फाल के अंदर चार वेरियेबल्स क्रिएट किये इनको कंफिक के अंदर यूज करना रहेगा तो कंफिक के अंदर सबसे पहले हम यहां पर कंडीशन
लगा रहे हैं गूगल आईडिय अगर आपको दे रिफ्रेश्ट टोकन और गूगल यूजर ओके अब देखो नोड मेलर आपका इंस्टाल हुआ नोड मेलर इंस्टाल लेने के बाद जो हमारा सर्वर है से वापस से स्टार्ट कर देते हैं विद कमांड एन्पर रंड
डेव इसे कि हमने यहां पे स्टार्ट करने के बाद स्टा इंस्टॉल हो चुका है अब इसे सेट अप करना है सेट अप कहां पर करेंगे तो सेट अपने वाले एक सर्विस फोल्डर के अंदर सर्विस फोल्डर हम यहां पर क्रिएट करेंगे सर्विस और सर्विस फोल्डर के अंदर एक फाइल में क्रिएट कर रहा हूं इमेल डॉट सर जे एस और इस फाइल के अंदर यह
पूरा कोड हमारा जा रहा होगा इस फाइल के अंदर हम नोड मेलर को रिक्वायर करते इंपोर्ट करते और उसके इसाफ से हम ट्रांसपोर्टर को क्रियेट कर रहे होते हैं ट्रांसपोर्टर
हमारा एक्चल तुम बोल सकते हो जो ऐसे सर्व क्रिएट कॉपी मत करना इधर पर आप आप करो इंपोर्ट आप करोगे यहां पर नोड मेलर फ्रॉम नोड मेलर और इधर पर आप कन्फिग और रिक्वायर कर लेना तो कन्फिग इंपोर्ट किया कन्फिग इंपोर्ट करने क्या दैन अब हम यहां पर क्रिएट करेंगे ट्रा
ट्रांसपोर्ट और ट्रांसपोर्ट के अंदर दिखा आपको चीज़े भीजनी रहेगी सर्विस आप यहां पर इमेल तो सर्विस आप यहां पर बोल दो इमेल आपकी सर्विस और इसके बाद आपको यहां पर बेजना रहेगा तो आपको यहां पर जाएगा आपके पास टा�
यूजर पर हमाएंगे यूजर हमारे पास चला जा आएका क्लाइंट इडी क्लाइंट सीकर रिफ्रेश टोकन यह हमारे पास पूरा जा रहा होगा ट्रांस्पोर्टर क्रियेट हुआ अब देखो ट्रांस्पोर्टर जब आपका एक बार क्रियेट हो जाता है तो आपको यह जो
इस फंक्षन के अंदर आप क्या कर रहे हो तो इसमें सबसे पहले तो आता है कि किसको इमेल भीजना है सब्जेट क्या है टेक्स्ट क्या
है और एच्टेमिल क्या है यह चीज़ आप यहां पर भीज रहे होते हैं यहां पर फॉल अप ले रहें कि वहाई क्या हमने भीचा है और यहां पर गया था ठीक है तो सेंड इमेल हो गया अब यहां से एक्सपोर्ट कर देते हैं तो सेंड इमेल फंक्शन होने वाला है इसी फंक्शन को मुझेंगे इमेल को सेंड करने के लिए तिधर पर आते हैं
वहां पर आएंगे यह जो हमारे एकसे टोकन वाला जितना भी कोड है सेशन वाला जितना भी हमारा कोड रहता है तो इस पूरे कोड को यहां से अटा दिए और बस एक कम यहां पर करेंगे जो यूजर क्रियेट हुआ है अच्छा यूजर जो क्रियेट होता है इसका जो स्टेटस बाइडिफॉल्
तो वेरिफाइड हमारा यहां पर फॉल्स होने वाला है टेकित हमने कर दिया इतना करने के बाद इतना करने का अब देखो हम यहां पर क्या बोल रहा है हमारे पास इमेल सर्विस है इस इमेल सर्विस को हम करेंगे रिक्वायर तो इंपोर्ट हमारे पास सेंड इमेल फंक्शन ह और यूजर के अंदर एक स्टेटास और जा रहा होगा वेरिफाइड वेरी
वाइड यूजर इस परिफाइड जो भी यूजर का स्टेटास उसके अकॉर्डिंग चला जाएगा ठीक है और रिस्पॉंस सेंड करने से पहले हम यहां पर इमेल सेंड कर रहे हूंगे अवेट सें� इमेल के अंदर हमारे हमें यहां पर भीजना है तो जो हमारा होने वाला है जो भी हम इमेल यूज कर रहे होंगे वह हमारा इमेल रहेगा जो में रिक्वेस्ट बॉड़ी से मिलने के बाद वैलकम टूर एप थैंक यू फॉर रिजिस्टेशन दिस दिस यह हमारा हो जाएगा ल
फॉल्डर में क्रिएट कर रहा हूं यूटिल्स फॉल्डर में क्रिएट कर रहा हूं यूटिल्स फॉल्डर के अंदर यूटिल्स फाइल यूटिल्स.js और इसके अंदर मैं फॉंक्षन क्रिएट कर रहा हूं जो हम जनरेट करवाएंगे फॉंक्षन जनरेट ओटीप और इस �
हम यहां
पर एक और और फंक्शन क्रिएट कर रहा है आप बोल सकते हो से जनरेट या गैट ओटीपी
गैट ओटीपी एस्टीएमेल ठेकिए अंदर आपके पास ओटीपी आएगा ओप्ट नहीं आएगा ओटीपी आ रहा होगा तो ओटीपी और आप यहां पर रिटन करवा सकते हो रिटन जो भी आ यहां पर रहे हैं यहां पर रहा हुँ टीक है यहां पर कर रहा हुँ टीक है यहां पर यहां पर यहां पर
यहां पर यहां पर यहां पर यहां पर यहां पर यहां पर यहां पर यहां पर यहां पर यहां पर यहां पर यहां पर यहां पर यहां पर यहां पर यहां पर यहां पर � तो यह जो दोनों हमारे होने वाले इन दोनों ही फंक्शन को हम यहाँ पर
इतना हमने किया एक्सपोर्ट हम करते हैं एक्सपोर्ट हम यहाँ पर दोनों फंक्शन को डारेक्ट करते हैं एक्सपोर्ट करने के बाद इसे भी एक्सपोर्ट करते हैं अब देखो एक चीज का ध्यान रखना कि हम ओटीप को करेंगे तो ओटीप के लिए हम यहाँ पर डेटा मौंगूस मौंगूस हमने यहां पर रिक्वायर किया इंपोर्ट किया इंपोर्ट करने के लाद
ओटीपी स्कीमा के अंदर दीको ओटीपी जो रहेगा वो डीटा बेस में प्लीन टेक्स फॉर्मिट में हैश फॉर्मिट में हम डीटा को स्टोर कर रहे होंगे लेकिन सबसे पह यूजर और जो हमारा ओटीपी हैश होगा तो ओटीपी हैश हम यहां पर स्टोर करवाएंगे टाइप स्ट्रिंग ओटीप इस रिक्वाइड और दैन हम यहां पर एक चीज बोल सकते
हैं टाइम स्टैंप स्टू तो टाइम स्टैंप स्टू जाएगा और ओटीपी स्कीमा को मे तो अब जो हमारे जितने भी पार्ट से जितने भी चोटे चोटी फीजर से वह में यहां पर इंप्लिमेंट कर चुके हैं अब फाइनली आएंगे हमारे और कंट्रोलर के अंदर और आने के बाद यूटिल्स फंक्शन से में दो चीज़ें यहां से इंपोर्ट करवाऊंगा प एक और हमारा यहां पर function होने वाला function का नाम हमारा function नहीं ओटीपी
model हमारे रहेगा ठीक है तीन चीज़े हमने यहां पर import करवा लिए और अब देखो जब user जैसी हमारा register करेगा सबसे पहले तो हमें यहां पर OTP generate करवाना है तो इधर पर हमाएंगे const OTP ट्वाल्स टू जनरेट टीपी ओटीपी हमारा जनरेट होगा फिर हमारा होने वाला है हम यहां पर जनरेट करवाएंगे तो टीपी
का जो हमारे पास जाएगा एंड दैन हम यहां पर इमेल को सेंड कर देंगे अच्छा इमेल सेंड करने से पहले हम यहां पर एक ओटीपी मॉ� टूप्टो डॉट क्रिएट है अब अगर हम देखने
है अगर आप तुम ध्यान से देखोगे अब यहां पर रिफ्रेश टोकन और एक्सेस टोकन दोनों को जनरेट नहीं करती है और जोमारा लॉग इन फंक्शन होने वाला है लॉग इन फंक्शन भी आप बोल सकते हो एक्सेस टोकन सिर्फ तब जनरेट करके देगा जब जो आपका यूजर है वह वेरिफाइड हो चुका होगा तो हम यहाँ पर बोल रहे हैं कि इस नॉट यूजर वेरिफाइड कि अगर यूजर यहाँ पर वेरिफाइड नहीं
है तो हम यहीं से रिटन कर जा� इमेल नॉट वेरिफाइड यहां पर बेच नहीं होता तब तक हम एकसेस टोकन और रिफ्रेश टोकन जनरेट ही नहीं करेंगे तो इससे होगा कि कोई भी यूजर आपके रिस्टूर्स इसको तब तक एकसेस नहीं कर पाएगा जब तक
वह अपने इमेल को एकसेस या बोलता है और यहां पर एक फंक्शन क्रिएट कर रहे हैं गैट वेरिफाई इमेल और इसके अंदर हमारे पास यहां पर और यह एक फंक्शन क्रिएट कर
देते हैं और और और कंट्रोलर में और के अंदर अपना ड़न है एक फंक्शन क्रिएट होगा एक्सपोर्ट असेंग function verify email request and response or request response request.body name const otp
request.body name const otp and we can also have email in request.body taken
request.body taken यहां पर बीज सकते हैं आपकी बॉडी के अंदर लेकिन देखो एक ऐसी चीज रहती है लाइक इमेल दोनों इस बॉडी के अंदर आनी चाहिए बॉडी के अंदर यहां पर आएंगे और अब हम यहां पर आएंगे ओटीप को करेंगे तो कॉंस्ट कॉंस्ट ओटीपी हैश एक टॉक एक्वल्स टू अवेट फाइंड वन और फाइंड में हम यहां पर कोरी लगा रहे होंगे कोरी हमारी क्या रहेगी इमेल एंड ओटीपी
है इतना हम यहां पर लगा रहे होंगे और हमें कोई भी ओटीप यहां पर नहीं मिलता है तो इसका मतलब यह है कि जो ओटीपी हमा गलत है या इस email से कभी आपने register किया ही नहीं है यह वाला scene है तो रपयमाएंगे invalid OTP हम यहाँ पर बोल सकते हैं तो OTP यहाँ पर गया अब देखो अगर OTP हमें मिलता है तो जो हमारा verified वाला part रहेगा user को
उसे हम यहाँ पर verify कर रहे होंगे तो const user equals to await user model dot find by id and update find by id अपडेट पर हम यहां पर बोलेंगे कि बाइड की बाइड बाइड बाइड यूजर तो ओटीपी डॉक्ट यूजर उसके आईड पर इसे फाइंड करो और अपडेट आपको क्या करना
है अपडेट आप यहां पर कर दो कि इसको वैरिफाइड ट्रू अच्छा एक चीज आप डिलीट मैनी डिलीट मैनी यहां पर यहां पर यूजर के बैसिस पर भी उसे डिलीट सकते
कुछ यहां पर कर सकते हैं तो यहां अब डेटाबेस मोंगो डीबी कंपस नहीं मोंगो डीबी कंपस बस एक एक एप्लिकेशन है डेटाबेस तो मुंबई में बैठा है ओके तो इधर पर हम आते हैं जो हमारा डेटाबेस
है वाई टी ओउथ इसे क्या कनेक्ट करने के बाद में ओउथ सर्वर गर यहां पर एक्जिस करती है यूजर हमारे पास यहां पर है यूजर एक ही है हमारे पास इधर पर इसको डिलीट करना चाहूं तो यह बिदि दोनों यहां पर हो जाएंगे तो यूजर डिलीट हो गया सेशन डिलीट हो गया
ओटीप हमारे पास नहीं है पोस्ट में पर आते ह तो यहां पर आएंगे रजिस्टर देखो सबसे पहले इस बार हम यहां पर रजिस्टर करवाने वाले हैं तो यूजर को करवा है हमने यहां पर रजिस्टर तो रजिस्टर होने में थोड़ा सा इस बार ज्यादा टाइम लग रहा है
क्योंकि वहां पर इमेल भी हमारा जा रहा तो अब अगर तुम देखोगे यहां पर एक email आया है और यह हमारा OTP verification और यह हमसे बोल रहा है कि address not found जा रहा है ओके हमने गलत email address यूज किया है ओके प्लीज यूज दिसकोड टो verify यूर email address तो
यह उस चीज का email मेरे पास आया है क्योंकि मैंने like same email address यूज कर रहा था तो यह मे 720 this one is a key I have a copy पेस्ट और अब इसे रजिस्टर करवाते हैं तो रजिस्टर करने के बाद यूजर नेम यहां पर हम अल्रड़ी यूज कर चुके तो एक काम करते हैं
यूजर नेम हम यहां पर अंकुर दे रहे हैं टेस्ट करने के आद अब यहां पर यूजर रेजिस्टर हो जाएगा सकस्क� आपको देखना है तो यह आपके हैश वार्वेंट
वर रहता है सिर्फ यूजर के पास एक्ष़लोटी पी गया होगा हमारे सर्वर साइट पे भी एक्ष़लोटी पी नहीं रहता है लेकिन उसको वैरिफाइ कैसे करेंगे तो वैरिफाइ
करने के लिए हम यहां एक नई रिक्व यह हमारा इमेल एड्रेस यह रहा वह इमेल एड्रेस इसे किया कॉपी पासवर्ड आइधिंग जो हमने पोस्ट के टाइम पर यूज किया था पासवर्ड सेम ही है अगर में लॉग इन के टाइम पर से लॉग इन करने की कोशिश करता हूं तो यह बोलता है कि इमेल नौट वैरिफाइड जब तक आप वहां पर लॉग इन नहीं कर पाओगे तब तक
आपके पास टोकन रिफ्रेश टोकन नहीं आएगा और जब तक आपके पास रिफ्रेश टो जो हमारी URL है URL हमारी कौन सी है तो URL हमारी यहां पर होने वाली है और राउट्स वेरिफाइएमेल ठीक है तो वेरिफाइएमेल
वेरिफाइएमेल और इसमें बॉड़ी के अंदर हमें दो चीजे भेजनी है दो चीजे कौन कौन सी है पहला तो हमारा होगा यहां पर और जो हमारा इमेल होने वाला है यह होगा हमारा इमेल एड्रेस और दूसरा हमारा रहेगा यहां पर ओटीपी
और ओटीपी जो हमारा था वो हमारे इमेल एड्रेस पर आया था यह होगा हमारा ओटीपी यह गया ओटीपी इसे किया सेंड करने के आद इमेल यहां पर सक्सेश् पाएंगे तो अब हम यहां पर सक्सेस्वली लॉग इन कर सकते हैं और हमारे पास
यहां पर एक्सेस टोकन और रिफ्रेश्ट टोकन दोनों ही आ जा रहे होंगे तो इस तरीके से आपका पूर्टीपी वेरिफिकेशन काम करता है जहां पर जब तक आप एमेल को वेरिफाय नही और अगर आप अभी तक इस वीडियो में हो तो यह
बहुत बड़ी बात है क्योंकि लोग वीडियो स्टार्ट करते तो हैं लेकिन उसे फिनिश नहीं कर रहे होते हैं तो देखो शेरियंस के इस चैनल पे और भी बहुत सारा कंटेंट आने वाला है रिलेटिट टो डेवाप्स � शेरियन्स के यूटिव चैनल को आप सब्सक्राइब कर लेना मिलते हैं नेक्स वीडियो में
Loading video analysis...