6

特定の認証メカニズム用に iOS で xmppframework を構成する方法はありますか?

http://code.google.com/p/xmppframeworkのサンプル iPhoneXMPP アプリを使用して OpenFire サーバーに接続できません。jid、パスワード、およびホスト名/ポートがすべて正しいことはわかっていますが、接続後にでのコールバック:

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

対応するエラーで:

RECV: <failure xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><not-authorized/></failure>

最初のハンドシェイクの後、デリゲート コールバックを受信します。

- (void)xmppStreamDidConnect:(XMPPStream *)sender
{
       if (![[self xmppStream] authenticateWithPassword:password error:&error])
            DDLogError(@"Error authenticating: %@", error);
}

XMPStream クラスの authenticateWithPassword メソッド:

- (BOOL)authenticateWithPassword:(NSString *)password error:(NSError **)errPtr
{
...
// Reaches here and we get back a 'YES' because the server reports that one of the 
// supported mechanisms by 'stream:features' is DIGEST-MD5 

if ([self supportsDigestMD5Authentication])
{
   // send the digest data along with with password
}
...

私はこれに慣れていないので、間違った質問をしているかもしれません。正しい方向を指してください。

4

2 に答える 2

2

iPhoneクライアントでユーザー名を間違って入力したことを確認しました。OpenFireサーバー(ローカルDNS名前空間mba.fritz.box)を使用して「germanuser」というユーザーを設定し、説明どおりに機能しないユーザー名でログインしようとしました。メールアドレスでログインしようとすると、@記号の後の部分が考慮されているのがわかりました。したがって、germanuser @ mba.fritz.boxとパスワードを使用してログインしようとしましたが、これは問題なく機能しました。

これが誰かに役立つことを願っています:-)

于 2011-11-11T11:43:54.623 に答える