响应解码失败,xmpp sasl 身份验证
Posted
技术标签:
【中文标题】响应解码失败,xmpp sasl 身份验证【英文标题】:Response decoding failed with xmpp sasl authentication 【发布时间】:2019-08-17 09:12:44 【问题描述】:我正在尝试在 XMPP 服务器中完成 SASL 身份验证。
我已使用 gen_tcp 套接字连接到 xmpp 服务器 我已注册用户“test4”,密码为“123” 使用...对用户名密码进行编码:base64.encode_to_string('test4') 然后将编码字符串(即 dGVzdDQ=)发送到 SASL 身份验证 使用命令::gen_tcp.send(socket, "<auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='PLAIN'>dGVzdDQ=</auth>
")
但是服务器给出错误“<failure xmlns='urn:ietf:params:xml:ns:xmpp-sasl'><bad-protocol/><text xml:lang='en'>Response decoding failed</text></failure>
”
注意:我也尝试发送 :base64.encode_to_string('test4 123') 到服务器
【问题讨论】:
【参考方案1】:根据RFC 4616,您需要在用户名和密码之前放置一个 NUL 字符。试试这个:
iex(1)> :base64.encode_to_string([0] ++ 'test4' ++ [0] ++ '123')
'AHRlc3Q0ADEyMw=='
【讨论】:
以上是关于响应解码失败,xmpp sasl 身份验证的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 xmpp 连接 Facebook 聊天,我想输入朋友的用户名,然后聊天显示 SASL 身份验证失败
Python XMPP 错误:SASL 身份验证失败:<incorrect-encoding />
Android异常SASL身份验证失败使用机制DIGEST-MD5
Golang 和 MongoDb 远程访问失败(服务器在 SASL 身份验证步骤返回错误:身份验证失败。)