我想使用 strophe 在 ejabberd 服务器上添加一个用户,而无需在命令提示符下键入 ejabberdctl register uname servename passwd 。是否可以实施?是否存在任何 XMPP 协议来注册用户?
谢谢沙蒂
是的,有可能...您需要允许在服务器上进行内联注册。完成后,您当然可以从任何客户端或客户端库中执行此操作,包括 strophe.js。
使用 mod_admin_extra 和 mod_rest 然后你可以完全访问 jabberctl + 一些额外的命令。搜索模块文档以获取有关如何设置的更多信息。
我正在使用 strophe.register.js
$("#register").click(function () {
var connect = new Strophe.Connection('http://yourserver.com/http-bind');
var callback = function (status) {
if ( status === Strophe.Status.REGISTERING ) {
console.log('REGISTERING')
}
else if ( status === Strophe.Status.REGIFAIL ) {
console.log('REGIFAIL')
}
else if ( status === Strophe.Status.REGISTER ) {
console.log('REGISTER')
connect.register.fields.username = "joe"
connect.register.fields.password = "doe"
connect.register.submit();
}
else if ( status === Strophe.Status.SUBMITTING ) {
console.log('SUBMITTING')
}
else if ( status === Strophe.Status.SBMTFAIL ) {
console.log('SBMTFAIL')
console.log('Something went wrong...');
}
else if ( status === Strophe.Status.REGISTERED ) {
console.log('REGISTERED')
console.log('Your account has been created successfully and is ready to use!');
}
}
connect.register.connect("yourserver.com", callback);
});