gpt4 book ai didi

ios - XMPP:注册在 iOS 中出错

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:46:03 29 4
gpt4 key购买 nike

您好,我使用以下代码进行注册。

连接 xmppStream 后,我在 didNotAuthenticate 方法中调用此代码:

- (void)xmppStream:(XMPPStream *)sender didNotAuthenticate:(NSXMLElement *)error
{

NSString *jidStr = @"mohit@localhost";
NSString password = @"mohit";
XMPPJID *jid = [XMPPJID jidWithString:jidStr];
[self xmppStream].myJID =jid;

if (self.xmppStream.supportsInBandRegistration) {
if (![self.xmppStream registerWithPassword:password error:&error]) {
NSLog(@"Registration error: %@", error);
}
else{
NSLog(@"Registration on progress");
}
}
else {
NSLog(@"Inband registration is not supported");
}
}

在控制台中它打印“Registration on progress”但是在下面的委托(delegate)方法中

- (void)xmppStream:(XMPPStream *)sender didNotRegister:(NSXMLElement *)error{
DDXMLElement *errorXML = [error elementForName:@"error"];
NSString *errorCode = [[errorXML attributeForName:@"code"] stringValue];
NSString *regError = [NSString stringWithFormat:@"ERROR :- %@",error.description];
NSLog(@"%@",regError);
}

它给出了错误:

<iq xmlns="jabber:client" from="localhost" type="error"><query xmlns="jabber:iq:register">
<username>mohit</username><password>mohit</password></query><error code="403" type="auth">
<forbidden xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/></error></iq>

我正在使用 ejabberd 服务器。请帮我解决这个问题。

最佳答案

以下步骤对我有用

  1. 转到您的 Ejabbered 管理员主页并使用管理员凭据登录。 ("http://YourServerHostName:5280/admin/ ")

  2. 点击左侧菜单中的“访问规则”。

  3. 在页面底部的文本字段中,粘贴以下访问规则并单击“添加新”。

    {access, register_from, [{allow, all}]}

    这应该可以消除 403 forbidden 错误。

  4. 解决禁止错误后,可能还会出现一个错误,即“不允许用户如此快速地注册帐户”。为此,再次复制以下访问规则并将其粘贴到同一文本字段中,然后单击“添加新”。

    {access, register, [{all, allow}, {registration_timeout, infinity}]}

    这应该可以消除上述错误。

关于ios - XMPP:注册在 iOS 中出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24024990/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com