我想通過生成隨機的用戶名和密碼自動生成用戶帳戶,然後用戶自動登錄(用戶不知道他的用戶名/密碼,他的瀏覽器只是存儲會話cookie)。如何使用Passport JS認證用戶服務器端?
護照功能作爲中間件,所以我如何認證我剛剛生成的用戶?或者,以某種方式重定向到我的app.post('/login')
路線併發送這些變量會更好嗎? (但不知何故將這些內容發送給瀏覽器,只是要發送回服務器似乎並不安全或有效)。
app.get('/signup', function(req, res) {
if(req.isAuthenticated()) { res.redirect('/'); }
else {
var today = new Date();
var weekDate = new Date();
weekDate.setDate(today.getDate() + 7);
var key1 = Math.random().toString();
var key2 = Math.random().toString();
var hash1 = crypto.createHmac('sha1', key1).update(today.valueOf().toString()).digest('hex');
var hash2 = crypto.createHmac('sha1', key2).update(weekDate.valueOf().toString()).digest('hex');
var newUser = new models.User({
username: hash1,
password: hash2,
signupDate: today,
accountStatus: 0,
expirationDate: weekDate,
});
newUser.save(function(err) {
if(err) {}
console.log("New user created.");
//HOW CAN I PASS USERNAME AND PASSWORD ARGUMENTS???
passport.authenticate('local')();
res.redirect('/login');
})
}
});
非常感謝!我希望這在護照文件中更爲明顯。 –
我同意,這是相當隱蔽的,我記得也努力找到它。 – rdrey