2

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

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

说 google talk 只支持 SASL PLAIN。但是当我在 INTERNET 中搜索时,很多人说 google talk 不支持 SASL,所以需要此代码:

    connectionConfig.setSASLAuthenticationEnabled(false);

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

4

1 回答 1

6

SASL是一种用于身份验证的框架和协议,旨在嵌入到其他协议中,以便可以重用这些库。

SASL PLAIN是您可以通过 SASL 使用的特定身份验证机制。

还有许多其他的 SASL 机制,它们在协议、服务器和客户端中具有不同程度的支持。XMPP 中主要使用的是 PLAIN、DIGEST-MD5(旧 XMPP RFC中强制要求)和SCRAM-SHA-1新 XMPP RFC强制要求)。

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

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

于 2012-05-08T16:45:26.367 回答