在Smack中SASL和SASL PLAIN有什么区别?

时间:2012-05-08 08:04:27

标签: android xmpp smack asmack sasl

我正在处理有关IM的事情。它涉及XMPP。 我在Android上开发了一个应用程序,所以我使用了一个思科。 我想登录谷歌谈话,在这里(链接如下)

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

说google talk只支持SASL PLAIN。 但是当我在互联网上搜索时,很多人都认为google talk不支持SASL 所以需要这段代码:

    connectionConfig.setSASLAuthenticationEnabled(false);

我很困惑;谁能告诉我哪个是正确的,或者SASL和SASL PLAIN之间的区别?

1 个答案:

答案 0 :(得分:6)

SASL is a framework and protocol for authentication意味着嵌入到其他协议中,以便可以重复使用这些库。

您可以通过SASL使用的

SASL PLAIN is a specific authentication mechanism

在整个协议,服务器和客户端中定义了一堆other SASL mechanisms,具有不同程度的支持。在XMPP中使用的主要是PLAIN,DIGEST-MD5(the old XMPP RFC中的必填项)和SCRAM-SHA-1mandatory中的the new XMPP RFC)。

无论如何,要回答你的问题:

如果您禁用SASL,那么Smack可能会使用所谓的legacy authentication。如果您不使用TLS加密连接,这可能会解决问题,因为许多服务器不允许PLAIN通过未加密的连接。