В чем разница между SASL и SASL PLAIN в Smack?

Я работаю с чем-то о IM. Он включает XMPP. Я разрабатываю приложение для Android, поэтому использовал aSmack. Я хочу войти в Google Talk, и вот (ссылка ниже)

https://developers.google.com/talk/open_communication

говорит, что Google Talk поддерживает только SASL PLAIN. но когда я ищу в ИНТЕРНЕТЕ, многие люди говорят, что google talk не поддерживает SASL, поэтому необходим этот код:

    connectionConfig.setSASLAuthenticationEnabled(false);

Я сбит с толку; кто может сказать мне, что правильно или различия между SASL и SASL PLAIN?


person Wei JingNing    schedule 08.05.2012    source источник


Ответы (1)


SASL – это структура и протокол аутентификации, предназначенные для встраивания в другие протоколы, чтобы библиотеки можно использовать повторно.

SASL PLAIN — это особый механизм аутентификации, который можно использовать поверх SASL.

Существует множество других механизмов SASL, определенных с различной степенью поддержки протоколов, серверов и клиенты. Основные из них, используемые в XMPP, это PLAIN, DIGEST-MD5 (обязательный в старом XMPP RFC) и SCRAM-SHA-1 (обязательно в новом RFC XMPP).

В любом случае, чтобы ответить на ваш вопрос:

Если вы отключите SASL, Smack, вероятно, будет использовать так называемую устаревшую аутентификацию. Может показаться, что это исправляет ситуацию, если вы не шифруете свое соединение с помощью TLS, поскольку многие серверы не разрешают PLAIN через незашифрованные соединения.

person Zash    schedule 08.05.2012
comment
тысяча благодарностей за вашу помощь, это мне очень помогает. как вы говорите, если я устанавливаю режим TLS ТРЕБУЕТСЯ, означает ли это, что мне не нужен код отключения SASL? - person Wei JingNing; 09.05.2012
comment
Хороший стандартный поток XMPP сначала шифрует с помощью TLS, а затем аутентифицирует с помощью SASL. - person MattJ; 09.05.2012