Vì lý do bảo mật, chúng tôi tạo người dùng và gửi cho họ mật khẩu được tạo tạm thời. Tại lần đăng nhập đầu tiên của họ, người dùng nên thay đổi mật khẩu của nó trước khi tiếp tục điều hướng các trang được bảo vệ.Mật khẩu tạm thời của hộ chiếu (thay đổi khi đăng nhập lần đầu)
Tôi đang sử dụng trang web express/node đang chạy mô-đun hộ chiếu tại địa phương. Đăng ký, đăng nhập vào tất cả người dùng. Nhưng tôi bị mất phương pháp hay nhất để người dùng thay đổi mật khẩu của họ trong lần đăng nhập đầu tiên.
Ý tưởng của tôi là phải làm như sau:
/* POST login page. */
router.post('/login', function(req, res, next) {
passport.authenticate('local', { successRedirect: '/dashboard/users',
failureRedirect: 'pages/login'}, function(err, user, info) {
if(err) {
console.log('')
return res.render('pages/login', {title: 'Login', error: err.message});
}
if(!user) {
return res.render('pages/login', {title: 'Login', error: info.message});
}
return req.logIn(user, function(err) {
if(err) {
return res.render('pages/login', {title: 'Login', error: err.message});
} else if (user.firstLogin) {
return res.redirect('/change-password'); // <- First login
} else {
return res.redirect('/dashboard/users');
}
});
})(req, res, next);
});
Như bạn thấy tôi có một boolean đơn giản (tinyint 0-1) đặt trong cơ sở dữ liệu của tôi (mặc định là 1). Sau đó, tôi sẽ đặt một phương thức đăng sau khi thay đổi thành công, boolean sẽ được đặt thành 0.
Đây có phải là cách chính xác không ('a' not 'the': p)? Làm thế nào về an ninh?
Xin lỗi vì đã chấp nhận trễ. Cảm ơn bạn đã trả lời, đã giúp tôi rất nhiều. – Goowik