我正在尝试通过管理员账户创建新用户,但是我收到了权限错误。我尝试了像这样的答案,但它没有帮助。
我的创建新用户的代码:
即使有这个配置,我仍然遇到错误:
我的创建新用户的代码:
AccountManager accountManager = AccountManager.getInstance(mConnection);
if (accountManager.supportsAccountCreation()) {
try {
accountManager.createAccount(username, password);
}
catch (XMPPException ex) {
LOG.info(ex.getMessage(), ex);
}
}
else{
LOG.error("Server doesn't support creating new accounts");
}
我允许在配置中所有人注册:
{access, register, [{allow, all}]}.
{access, register_from, [{allow, all}]}.
{mod_register, [
...
{ip_access, [{allow, "127.0.0.0/8"},
{deny, "0.0.0.0/0"}]},
{access_from, register_from},
{access, register}
]},
即使有这个配置,我仍然遇到错误:
org.jivesoftware.smack.XMPPException$XMPPErrorException: XMPPError: forbidden - auth
at org.jivesoftware.smack.XMPPException$XMPPErrorException.ifHasErrorThenThrow(XMPPException.java:135)
at org.jivesoftware.smack.PacketCollector.nextResultOrThrow(PacketCollector.java:232)
at org.jivesoftware.smack.PacketCollector.nextResultOrThrow(PacketCollector.java:213)
at org.jivesoftware.smackx.iqregister.AccountManager.createAccount(AccountManager.java:272)
at org.jivesoftware.smackx.iqregister.AccountManager.createAccount(AccountManager.java:244)
注意:Smack 4.1.0
{ip_access, [{allow, "127.0.0.0/8"}, {deny, "0.0.0.0/0"}]}
没有问题吗?也就是说,你是从本地主机连接的吗? - erszczmongooseimctl
或者自定义认证模块。 - erszcz