MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

JWT के साथ फेसबुक-पासपोर्ट

उस समस्या के लिए मुझे सबसे अच्छा समाधान एक कुकी के साथ अपेक्षित पृष्ठ पर पुनर्निर्देशित करना होगा जिसमें JWT है।

res.json का उपयोग करना केवल एक json प्रतिक्रिया भेजेगा और पुनर्निर्देशित नहीं करेगा। यही कारण है कि यहां अन्य सुझाए गए उत्तर से मेरे सामने आई समस्या का समाधान नहीं होगा।

तो मेरा समाधान होगा:

app.get('/auth/facebook/callback',
passport.authenticate('facebook', {
    session: false,
    successRedirect : '/',
    failureRedirect : '/'
}), (req, res) => {
    var token = req.user.jwtoken;
    res.cookie('auth', token); // Choose whatever name you'd like for that cookie, 
    res.redirect('http://localhost:3000'); // OR whatever page you want to redirect to with that cookie
});

पुनर्निर्देशन के बाद, आप कुकी को सुरक्षित रूप से पढ़ सकते हैं और उम्मीद के मुताबिक उस जेडब्ल्यूटी का उपयोग कर सकते हैं। (आप वास्तव में प्रत्येक पृष्ठ लोड पर कुकी पढ़ सकते हैं, यह जांचने के लिए कि कोई उपयोगकर्ता लॉग इन है या नहीं)

जैसा कि मैंने पहले उल्लेख किया है, JWT के साथ एक क्वेरी परम के रूप में पुनर्निर्देशित करना संभव है, लेकिन यह बहुत असुरक्षित है। कुकी का उपयोग करना सुरक्षित है, और अभी भी सुरक्षा समाधान हैं जिनका उपयोग आप इसे और भी सुरक्षित बनाने के लिए कर सकते हैं, एक क्वेरी परम के विपरीत जो है स्पष्ट रूप से असुरक्षित।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Meteor.js mongodb संस्करण

  2. रेल और मोंगोइड के साथ गतिशील गुण

  3. $ या शर्त के साथ नेवला की खोज विधि ठीक से काम नहीं करती है

  4. नोडज एक्सप्रेस के साथ डेटा के साथ एचटीएमएल प्रस्तुत करना

  5. $graphLookup के लिए स्ट्रिंग से ऑब्जेक्ट आईडी का मिलान करना