0

我正在尝试将 jquery 终端与 socket.io 一起使用,但我不知道如何让登录正常工作。

有人可以帮助我吗?

var terminal = $('#terminal').terminal(function(command, terminal) {
socket.emit('stdin', command);
},
{
login: function(username, password, callback) {
  var password =    CryptoJS.SHA1($('#login_password').val()).toString(CryptoJS.enc.Base64);
  socket.emit('stdin', "/login "+ username + " " + password);
  // should wait for a response then callback
},
greetings: "You are authenticated",
tabcompletion: true,
exit: false,
completion: function(terminal, command, callback) {
    callback(['/login']);
},
onBlur: function() {
    // the height of the body is only 2 lines initialy
    return false;
},
onClear: function() {
    // the height of the body is only 2 lines initialy
}
});
4

1 回答 1

0

可能您应该使用不同的事件然后 stdin 进行登录:

login: function(username, password, callback) {
  var password = CryptoJS.SHA1($('#login_password').val()).toString(CryptoJS.enc.Base64);
  socket.emit('login', "/login "+ username + " " + password);
  socket.on('auth', function(token) {
      callback(token);
  });
}

然后在服务器上侦听登录事件并使用令牌发送身份验证事件。

于 2015-02-12T15:35:09.230 回答