【问题标题】:What is the difference between SASL and SASL PLAIN in Smack?Smack 中的 SASL 和 SASL PLAIN 有什么区别?
【发布时间】:2012-05-08 08:04:26
【问题描述】:

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

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

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

    connectionConfig.setSASLAuthenticationEnabled(false);

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

【问题讨论】:

    标签: android xmpp smack asmack sasl


    【解决方案1】:

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

    SASL PLAIN is a specific authentication mechanism,您可以通过 SASL 使用。

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

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

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

    【讨论】:

    • 千感谢您的帮助,对我帮助很大。如您所说,如果我设置了 TLS 模式是必需的,是否意味着我不需要禁用 SASL 代码?
    • 一个好的标准 XMPP 流将首先使用 TLS 加密,然后使用 SASL 进行身份验证。
    猜你喜欢
    • 1970-01-01
    • 2017-08-09
    • 1970-01-01
    • 2017-07-21
    • 1970-01-01
    • 2011-04-25
    • 2021-10-03
    • 1970-01-01
    • 2017-11-15
    相关资源
    最近更新 更多