Strophe.js带内注册

时间:2013-12-22 03:31:51

标签: javascript xmpp registration strophe

我知道还有很多其他问题与strophe带内注册和XEP 0077相关,但我的问题如下:

我正在尝试以正确的形式写下面的节目:

<iq to='marlowe.shakespeare.lit' type='set'>
  <query xmlns='jabber:iq:register'>
    <username>juliet</username>
    <password>R0m30</password>
    <name>JJ</name>
  </query>
</iq>

但我无法正确写出来。我坚持如何在javascript中编写用户名,密码和名称字段。

这是我到目前为止写的:

connection.sendIQ($iq({to: "server", type: "set"}).c('query', {xmlns: "jabber:iq:register"}).c)

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:1)

我知道这是一篇旧帖子,但我认为Strophe Plugin for In-Band Registration正是您所寻找的!

<head>
<!-- ... -->
<script type="text/javascript" src="strophe.min.js"></script>
<script type="text/javascript" src="strophe.register.js"></script>
<!-- ... -->
</head>

使用Javascript:

var callback = function (status) {
    if (status === Strophe.Status.REGISTER) {
        connection.register.fields.username = "juliet";
        connection.register.fields.password = "R0m30";
        connection.register.submit();
    } else if (status === Strophe.Status.REGISTERED) {
        console.log("registered!");
        connection.authenticate();
    } else if (status === Strophe.Status.CONNECTED) {
        console.log("logged in!");
    } else {
        // every other status a connection.connect would receive
    }
};
connection.register.connect("example.com", callback, wait, hold);

答案 1 :(得分:0)

如果您要使用javascript,请使用Strophe和connect函数。

connection.connect(jid,password,cb);

带内注册适用于非JavaScript使用。您将组装正文并将字符串发送到您的jabber服务器。有关示例,请参阅http://metajack.im/2008/10/03/getting-attached-to-strophe/