#javascript #node.js #websocket #socket.io #session-variables
Вопрос:
Я в основном хочу сохранить имя пользователя для входа в сеансовые файлы cookie с помощью узла и Socket.io
Вот код : (выполняется после входа в систему в /auth)
app.post('/auth', function(request, response) {
var username = request.body.username
var password = request.body.password;
if (username amp;amp; password) {
connection.query('SELECT * FROM accounts WHERE username = ?', [username], function(error, results, fields) {
if (results.length > 0) {
let t = new Promise(function(resolve, reject) {
bcrypt.compare(password, results[0].password, function(err, res) {
if (err) {
reject(err);
} else {
resolve(res);
}
});
});
t.then((pswRes)=>{
if (pswRes==true){
io.emit("logged", request.body.username); //HERE <---
request.session.loggedin = true; //doesnt register in cookies (browser)
request.session.username = username; //doesnt register in cookies (browser)
console.log(request.session.username);
//console.log(t);
return response.redirect('/home.html'); //HERE <---
}else{
return response.redirect('/log.html');
}
}).catch((pswRes)=>{
console.log("error" pswRes);
});
} else {
return response.redirect('/log.html');
}
//response.end();
});
} else {
// response.send('Please enter Username and Password!');
console.log("3333");
//response.end();
}});
(проверьте комментарии)
Я пытаюсь передать аргументы с помощью эмиссии и уловки на home.html куда они перенаправляются, затем для размещения переменной сеанса с
sessionStorage.setItem(«имя пользователя», имя пользователя)
Как я могу это сделать ? Альтернативные методы тоже ценятся !