成功連接到服務器後,即。一個成功的回調身份驗證失敗錯誤 - XMPPFramework - 未授權
- (void) xmppStreamDidConnect:(XMPPStream *)sender
後,我有時會得到一個身份驗證失敗,即。下面的回調被稱爲:
- (無效)xmppStream:(XMPPStream *)發件人didNotAuthenticate:(NSXMLElement *)錯誤
的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>
就像我說的,我偶爾會遇到這個問題。我追蹤了這個問題,到目前爲止我已經嘗試了幾件事情。 的事情,就是我已經調查,我可以迄今確認:
- 的用戶名和密碼是100%正確
- 我使用的SCRAM-SHA-1認證機制(
XMPPSCRAMSHA1Authentication
) - 我服務器支持PLAIN機制以及它也失敗(
XMPPPlainAuthentication
) - 如果我嘗試強制斷開連接,當我收到此錯誤(
[xmppStream disconnect]
),然後在xmppStreamDidDisconnect
回調我嘗試重新打開流([xmppStream connectWithTimeout:XMPPStreamTimeoutNone error:&error]
)然後我進入一個無限循環b因爲認證失敗一致
現在,我更深入地研究了這一點,當使用SCRAM-SHA-1機制時,它看起來像在第二個挑戰時失敗。客戶端向服務器發送了一些(似乎有效的),但服務器不喜歡它並拋出not-authorized
錯誤。
想到任何人?
你找到任何解決方案我也面臨同樣的問題。 – Bittoo 2016-04-12 12:43:47