我正在使用 Smack 客户端 4.3.1 并希望使用带内注册方法(使用 Smack 的 AccountManager)注册用户。
我可以使用“管理员”XMPP 连接创建新用户,并且用户是在管理员用户所在的域中创建的,比如 user1@ec2-xxxxx.us-west-2.compute.amazonaws.com
我的要求是,我想在另一个虚拟主机中创建用户 - 比如说 user1@example.com 使用相同的“管理员”XMPP 连接。是否可以 ?
我尝试使用具有管理员权限的用户“mnallath1@example.com”进行“带内注册”。它给出“XMPPError:冲突 - 取消”错误
我的代码是:
AccountManager accountManager = AccountManager.getInstance(connection1);
System.out.println("Is Account creation supported " +accountManager.isSupported() + " Account creation supported : " + accountManager.supportsAccountCreation());
accountManager.sensitiveOperationOverInsecureConnection(true);
EntityFullJid entityFullJid = JidCreate.entityFullFrom("user1@example.com/resource1");
Domainpart domainpart = entityFullJid.getDomain();
Localpart localpart = entityFullJid.getLocalpart();
System.out.println("local part of account " + localpart);
accountManager.createAccount(localpart, "password");
是否可以使用带内注册在 example.com 中创建 user1?
我的管理员用户
admin:
user:
- "admin": "ec2-xxxxx.us-west-2.compute.amazonaws.com"
- "mnallath1": "example.com"
我的虚拟主机
hosts:
- "ec2-xxxxx.us-west-2.compute.amazonaws.com"
- "example.com"
- "example.net"