成功连接到服务器后,即。成功回调到- (void) xmppStreamDidConnect:(XMPPStream *)sender
有时,我会收到身份验证失败的提示。以下回调称为:
NSXMLElement
看起来像这样:<failure xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><not-authorized/><text>The response provided by the client doesn't match the one we calculated.</text></failure>
就像我说的,我偶尔会得到这个。我已经找到了问题所在,到目前为止,我已经尝试了一些方法。
到目前为止,我已经研究过并可以确认的事情:
XMPPSCRAMSHA1Authentication
)XMPPPlainAuthentication
)[xmppStream disconnect]
),然后在xmppStreamDidDisconnect
回调中尝试重新打开流([xmppStream connectWithTimeout:XMPPStreamTimeoutNone error:&error]
),则我进入无限循环,因为身份验证始终失败现在,我进一步研究了这一点,当使用SCRAM-SHA-1机制时,它似乎在第二个挑战中失败了。客户端向服务器发送了一些东西(看似有效),但是服务器不喜欢它,并抛出了
not-authorized
错误。有人在想吗?
最佳答案
您必须检查您的用户名和密码。如果您传递错误的用户名和密码进行身份验证/登录,则将调用此 didNotAuthenticate 方法
关于ios - 身份验证失败错误-XMPPFramework-未经授权,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26684140/