Ruby XMPP4R普通身份验证有第三个参数吗?

Ruby XMPP4R普通身份验证有第三个参数吗?,ruby,authentication,dns,xmpp,sasl,Ruby,Authentication,Dns,Xmpp,Sasl,我正在尝试使用我用Ruby编写的使用XMPP4R的简单客户端对Tigase XMPP服务器进行身份验证。我使用普通身份验证以最简单的方式进行连接。使用像Psi这样的现成客户机,我可以很好地连接,但是XMPP4R库一直发送错误的流。根据链接,Base64编码字符串应该由\00\00组成,例如\00hank\00Secr3tP4ssw rd(Psi也是这样做的)。但是,xmpp4r库的功能类似于\00hank@hanks-server.xx\00hank\00Secr3tP4ssw rd这是Tiga

我正在尝试使用我用Ruby编写的使用XMPP4R的简单客户端对Tigase XMPP服务器进行身份验证。我使用普通身份验证以最简单的方式进行连接。使用像Psi这样的现成客户机,我可以很好地连接,但是XMPP4R库一直发送错误的流。根据链接,Base64编码字符串应该由
\00\00
组成,例如
\00hank\00Secr3tP4ssw rd
(Psi也是这样做的)。但是,xmpp4r库的功能类似于
\00hank@hanks-server.xx\00hank\00Secr3tP4ssw rd
这是Tigase不喜欢的。为什么会出现第三个/第一个参数?如何避免使用普通身份验证发送完整域?

查看代码

第一个参数是“授权标识”,而第二个参数是“身份验证标识”。“身份验证标识”是指您要验证为的用户(即您正在发送其密码的用户),而“授权标识”是指您要充当的用户,例如,如果管理员需要访问用户的帐户。这很少使用,因此“授权标识”通常为空

即:

如果发起实体不希望代表另一实体行事,则不得提供授权标识


所以这应该被认为是XMPP4R中的一个bug。

对,这是XMPP4R中的一个bug。我为它创建了一个问题: