xmppframework (iOS) и настройка типов аутентификации - PullRequest
6 голосов
/ 30 июня 2011

Есть ли способ настроить xmppframework на iOS для определенных механизмов аутентификации?

У меня проблемы с подключением к серверу OpenFire с примером приложения iPhoneXMPP из http://code.google.com/p/xmppframework, и я знаю,что мой 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);
}

метода authenticateWithPassword класса XMPStream:

- (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
}
...

Я вроде как новичок в этом вопросе, поэтому, возможно, задаю не тот вопрос.Пожалуйста, укажите в правильном направлении.

Ответы [ 2 ]

2 голосов
/ 11 ноября 2011

Определено, что я неправильно указал имя пользователя в клиенте iPhone. Я использовал сервер OpenFire (в локальном пространстве имен DNS mba.fritz.box), чтобы настроить пользователя с именем «germanuser», и попытался войти в систему с моим именем пользователя, которое не работало, как описано. Когда я попытался войти со своим адресом электронной почты, я увидел, что часть после знака @ была рассмотрена. Поэтому я попытался войти с помощью germanuser@mba.fritz.box и моего пароля, и это сработало без ошибок.

Надеюсь, это кому-нибудь поможет: -)

0 голосов
/ 18 ноября 2011

Очевидно из вашего описания, что ваш аккаунт или пароль неверны. Убедитесь, что учетная запись заполнена, как name@example.com

...