我正在处理有关IM的事情。它涉及XMPP。 我在Android上开发了一个应用程序,所以我使用了一个思科。 我想登录谷歌谈话,在这里(链接如下)
https://developers.google.com/talk/open_communications
说google talk只支持SASL PLAIN。 但是当我在互联网上搜索时,很多人都认为google talk不支持SASL 所以需要这段代码:
connectionConfig.setSASLAuthenticationEnabled(false);
我很困惑;谁能告诉我哪个是正确的,或者SASL和SASL PLAIN之间的区别?
答案 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-1(mandatory中的the new XMPP RFC)。
无论如何,要回答你的问题:
如果您禁用SASL,那么Smack可能会使用所谓的legacy authentication。如果您不使用TLS加密连接,这可能会解决问题,因为许多服务器不允许PLAIN通过未加密的连接。