आप अगले रणनीतियों के विन्यास के लिए, अपने एप्लिकेशन में निम्न कोड को लागू करना चाहिए:
passport.serializeUser(function(user, done) {
done(null, user.id);
});
passport.deserializeUser(function(obj, done) {
done(null, obj);
});
इस तरह, जब आप प्रमाणीकृत उपयोगकर्ता के साथ done
समारोह आह्वान, पासपोर्ट भंडारण का ख्याल रखता है एक कुकी में उपयोगकर्ता आईडी। जब भी आप उपयोगकर्ता तक पहुंचना चाहते हैं आईडी आप इसे अनुरोध निकाय में पा सकते हैं। (एक्सप्रेस req["user"]
में)।
यदि आप सत्र में अन्य डेटा स्टोर करना चाहते हैं तो आप serializeUser
फ़ंक्शन भी विकसित कर सकते हैं।
passport.serializeUser(function(user, done) {
done(null, {
id: user["id"],
userName: user["userName"],
email: user["email"]
});
});
आप यहाँ अधिक जानकारी प्राप्त कर सकते हैं:: मैं इसे इस तरह से करना http://passportjs.org/docs/configure
मैं यह पहले से ही मैं अपने कोड है - लेकिन मैं ग्राहक के पक्ष कुकी का उपयोग करने की, जावास्क्रिप्ट का उपयोग करने की जरूरत है - यह संभव है? –
मुझे खेद है, मुझे आपके प्रश्न से यह समझ में नहीं आया। मैंने बस अपने node.js ऐप में कुकीज़ का विश्लेषण किया और मुझे पासपोर्टज द्वारा एक सेट नहीं दिख रहा है। कनेक्ट करें सत्र आईडी के साथ बस एक कुकी सेट करता है। बाकी डेटा सर्वर पर संग्रहीत है। मेरा मानना है कि आपको वांछित डेटा के साथ मैन्युअल रूप से कुकी सेट करनी चाहिए और उसके बाद क्लाइंट पर जावास्क्रिप्ट का उपयोग करके इसे पार्स करना चाहिए। (एक्सप्रेस का उपयोग करके: [लिंक] (http://expressjs.com/api.html#res.cookie))। – AnduA
मैंने समस्या को स्वयं ही अपनी कुकी बनाने के लिए हल कर लिया है लेकिन आपकी जानकारी के लिए धन्यवाद! –