gpt4 book ai didi

node.js - 身份验证和注册时的问题node-xmpp

转载 作者:太空宇宙 更新时间:2023-11-04 00:36:53 25 4
gpt4 key购买 nike

我试图通过node-xmpp从node.js注册一个新用户到ejabberd,但是身份验证和注册事件没有调用,也没有连接。

var clientXMPP = require('node-xmpp-client');
var serverXMPP = require('node-xmpp-server');
var c2s = new serverXMPP.C2SServer({
jid: 'testuser@192.168.1.1',
password: 'test'
});

c2s.on("connect", function(client) {
console.log(client)
c2s.on('register', function(opts, cb) {
console.log('REGISTER')
cb(false)
})
c2s.on("authenticate", function(opts, cb) {
console.log("AUTH" + opts.jid + " -> " +opts.password);
cb(false);
});
c2s.on('disconnect', function () {
console.log('DISCONNECT')
})
});

如何注册新用户并在 node-xmpp 中对其进行身份验证。

最佳答案

如果您只需要从nodejs到ejabberd服务器创建新用户,请确保您在ejabberd中启用了带内注册。

你不需要node-xmpp-server,你只能使用node-xmpp-client。客户端库将帮助您与 ejabberd 管理员用户连接。

这是一个例子

const Client = require('node-xmpp-client');

let admin = new Client({
jid: '{adminJID}',
password: '{adminPassword}'
});

// check for errors to connect with socket
admin.connection.socket.on('error', function (error) {
// handle error
});

admin.on('online', function (data) {

// Register stanza
let stanza = new Client.Stanza('iq', {type: 'set', id: 'reg1', to: '192.168.1.1'})
.c('query', {xmlns: 'jabber:iq:register'})
.c('username').t('{username}').up() // Give a new username
.c('password').t('{password}') // Give a new user's password

admin.send(stanza); // send a stanza
});

// response stanzas
admin.on('stanza', function (stanza) {
// check for error/success
});

关于node.js - 身份验证和注册时的问题node-xmpp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38604816/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com