在xmpp openfire中为用户注册添加更多字段

时间:2018-01-18 04:53:26

标签: android xmpp openfire

我正在尝试通过openfire注册一个新用户,到目前为止我能够通过服务器注册它,但我想在用户注册表单中添加一些更多的字段,如电话,地址

截至目前,只有在通过服务器注册用户时才设置用户名,全名,密码和电子邮件。

但我想添加更多字段,我该怎么做?

我是否使用这些依赖项,以其他方式添加更多字段?

compile 'org.igniterealtime.smack:smack-tcp:4.1.0'
compile 'org.igniterealtime.smack:smack-android-extensions:4.1.0'
compile 'org.igniterealtime.smack:smack-im:4.1.0'

1 个答案:

答案 0 :(得分:2)

您可以通过调用Openfire REST API插件在Openfire中配置新用户。使用“创建用户”时,可以指定要添加的自定义属性。这些自定义道具将显示在Openfire中用户的自定义属性上,而不是vcard上。也可以通过REST GET检索自定义道具 为用户。

我发现这在大多数情况下运作良好。所有自定义道具都存储为字符串(varchar在数据库中)。在自定义道具中存储和检索编码二进制文件时遇到了一些问题,主要是围绕默认数据库字段定义限制(5000 SQL Server?),并且在检索用户及其数据列表时,由于这些自定义属性总是会出现,所以需要更长时间回来。

https://www.igniterealtime.org/projects/openfire/plugins/restapi/readme.html#create-a-user

用于创建具有两个自定义属性的用户的示例有效内容

{
    "username": "admin",
    "password": "p4ssword",
    "name": "Administrator",
    "email": "admin@example.com",
    "properties": {
        "property": [
            {
                "@key": "console.rows_per_page",
                "@value": "user-summary=8"
            },
            {
                "@key": "console.order",
                "@value": "session-summary=1"
            }
        ]
    }
}