У вас неверный JavaScript, у вас есть объявление метки и функции, которое должно быть помещено в объект, подобный этому:
var x = {
login: function() {
}
};
, который должен быть частью объекта во втором аргументе, который является объектом параметров.
.terminal(function(command) {
if (command === 'register') {
}
}, {
login: function(...) {
...
}
});
и для вашей конкретной проблемы при наличии команды входа в систему, при которой вы входите в систему, вам необходимо вызвать метод входа в систему следующим образом:
} else if (command == 'login'){
term.login(function(user, password, callback) {
// to get the token you should send user and password to the server
if (user == 'demo' && password == 'secret') {
callback('SECRET TOKEN');
} else {
callback(null);
}
});
} else if (term.token()) {
// here are commands that will only work after user login
// but you need to know that user may add token in developer tools
// so you should use additional check if token is valid by sending token
// to the server, or if you're invoking command on the server then just
// send the token and validate it there
} else {
term.error('invalid command');
}