2012-02-09 24 views
23

नोडजेएस में मैं प्रमाणीकरण के लिए पासपोर्ट मॉड्यूल का उपयोग कर रहा हूं। मैं वर्तमान में लॉग इन उपयोगकर्ता का उपयोगकर्ता नाम दिखाना चाहता हूं।नोडजेस पासपोर्ट प्रदर्शन उपयोगकर्ता नाम

passport.displayName 

और

Localstrategy.username 

और अधिक जानकारी के लिए कृपया यह भी देखें::

मैं निम्नलिखित कोड की कोशिश की http://passportjs.org/docs/profile

लेकिन वह काम नहीं कर रहा। कोई सुझाव?

धन्यवाद

उत्तर

48

उपयोगकर्ता (के रूप में सत्यापित कॉलबैक द्वारा आपूर्ति), req.user पर अनुरोध पर एक संपत्ति के रूप में स्थापित किया जाएगा।

उपयोगकर्ता के किसी भी गुण को उस वस्तु के माध्यम से एक्सेस किया जा सकता है, आपके मामले में req.user.username और req.user.displayName

आप एक्सप्रेस का उपयोग कर रहे हैं, और एक टेम्पलेट के भीतर एक चर के रूप में उपयोगकर्ता नाम बेनकाब करने के लिए चाहते हैं, कि जब प्रतिपादन किया जा सकता है:

app.get('/hello', function(req, res) { 
    res.render('index.jade', { username: req.user.username }); 
}); 
+2

मैं प्रवेश के लिए निम्नलिखित कोड का उपयोग कर रहा: app.post ('/ लॉगिन', passport.authenticate ('स्थानीय', {successRedirect: '/', failureRedirect: '/ लॉगिन'}) ); मैं '/' पृष्ठ पर req.user.username acces करने में सक्षम नहीं हूं। मैं उस पृष्ठ पर इसे कैसे प्राप्त कर सकता हूं? –

+1

क्या उस पृष्ठ पर 'req.user' संपत्ति उपलब्ध है? यदि नहीं, ऐसा लगता है जैसे सत्र समर्थन सक्षम नहीं है। 'App.use (passport.session()) 'मिडलवेयर' के साथ-साथ एक्सप्रेस सत्र मिडलवेयर को कॉन्फ़िगर करना सुनिश्चित करें। इस पृष्ठ के "मिडलवेयर" अनुभाग को देखें: http://passportjs.org/guide/configuration.html –

+0

यह काम कर रहा है, धन्यवाद! –

3

मैं का उपयोग करने की एक साधारण दृश्य सहायक बना लिया है प्रमाणीकरण स्थिति और उपयोगकर्ता जानकारी

var helpers = {}; 

helpers.auth = function(req, res) { 
    var map = {}; 
    map.isAuthenticated = req.isAuthenticated(); 
    map.user = req.user; 
    return map; 
} 

app.dynamicHelpers(helpers); 

कर है कि आप अपने विचारों पर वस्तु auth पहुंचने उदाहरण auth.user.xxxx के लिए सक्षम हो जाएगा के बाद।

+8

आप इस सहायक को कैसे कॉल करते हैं? और आप इसे कहां से कहते हैं? धन्यवाद –

संबंधित मुद्दे