У меня есть немного кода ниже:
async function authenticateUser() {
let authenticated = false;
socketTx = io();
socketRx = io.connect();
var user = prompt("Please enter username", "");
var pass = prompt("Please enter your password", "");
socketTx.emit('authChannel', {username: user, password: pass});
let promise = new Promise((resolve, reject) => {
socketRx.on('authChannel', function(auth) {
//console.log(auth);
resolve(auth);
});
});
authenticated = await promise;
console.log(authenticated)
if (authenticated == false) {
user;
pass;
} else {authenticated == true}
}
socketTx
отправляет данные user
/ pass
на сервер для аутентификации PAM в Node.js
. socketRx
получает true
/ false
за то, был ли пользователь аутентифицирован.
Требуемое поведение заключается в том, что приглашения спамить пользователя до тех пор, пока не будет предоставлена правильная информация для входа в систему. Мне показалось, что я уловил это поведение при повторном вызове переменных user
/ pass
после проверки подлинности на ложность, но в подсказках не отображается второй (или более) раз (а). Я могу подтвердить, что получаю правильную информацию на console.log(authenticated)
.
Есть ли что-то очевидное, что мне не хватает?
Заранее спасибо.