XMPPFramework - 删除注册用户帐户时出现“未授权”错误
Posted
技术标签:
【中文标题】XMPPFramework - 删除注册用户帐户时出现“未授权”错误【英文标题】:XMPPFramework - "not-authorized" error upon deleting a registered user account 【发布时间】:2014-07-21 10:10:09 【问题描述】:我想删除当前使用 XMPP 连接的 Openfire 用户。
我使用以下代码删除用户:
- (void)DeleteAccountFromOpenfire
NSXMLElement *query = [NSXMLElement elementWithName:@"query" xmlns:@"'jabber:iq:register'"];
[query addChild:[NSXMLElement elementWithName:@"remove"]];
XMPPIQ *iq = [XMPPIQ iqWithType:@"set" elementID:@"unreg1"];
[iq addChild:query];
[[self xmppStream] sendElement:iq];
但我从服务器收到not-authorized
错误。我该如何避免呢?
【问题讨论】:
你从服务器得到什么响应? @legoscia,这是我得到的 iqnot-authorized
可能是这里的关键部分。我自己对 Openfire 并不熟悉,但更有知识的人可能会指出如何配置服务器以允许删除帐户。
【参考方案1】:
以下是从openfire帐户中删除注册用户的解决方案
NSXMLElement *query = [NSXMLElement elementWithName:@"query" xmlns:@"jabber:iq:register"];
[query addChild:[NSXMLElement elementWithName:@"remove"]];
NSXMLElement *iq = [NSXMLElement elementWithName:@"iq"];
[iq addAttributeWithName:@"type" stringValue:@"set"];
[iq addAttributeWithName:@"id" stringValue:@"unreg1"];
[iq addChild:query];
[[self xmppStream] sendElement:iq];
【讨论】:
以上是关于XMPPFramework - 删除注册用户帐户时出现“未授权”错误的主要内容,如果未能解决你的问题,请参考以下文章
如何检查用户 JID 是不是已在 XMPPFrameWork 中使用
如何使用 XMPPFramework 从 ejabberd 中删除两个用户之间的特定消息?