gpt4 book ai didi

xmpp - XMPP 客户端如何选择认证机制?

转载 作者:行者123 更新时间:2023-12-04 06:47:51 32 4
gpt4 key购买 nike

我试图通过用低级 Python 编码来学习 XMPP 规范( RFC 3920 )。但是我在 6.5 的第 4 步被挂断了一个多小时。 ,选择身份验证机制。我发送:<auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='PLAIN'/> ,并得到:<failure xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><incorrect-encoding/></failure>而不是 base64 编码的挑战。

当我错误地对某些内容进行 base64 编码,但没有要编码的文本时,应该使用“不正确的编码”错误。我可能遗漏了一些非常明显的东西。有人有线索吗?

如果这很重要,我使用talk.google.com 端口5222 作为服务器。我怀疑它确实如此;这几乎肯定是由于我对 RFC 的这一部分缺乏了解。除了我发送这个特定节的方式之外,问题不太可能是我的代码,否则它会在前面的步骤中失败。但就其值(value)而言,这里是 code我到目前为止,还有 complete log ( session 记录)。谢谢。

最佳答案

首先,RFC 6120通常比 3920 更清楚。 [更新以指向已发布的 RFC]

由于您使用的是 SASL PLAIN(参见 RFC 4616),许多服务器希望您在 auth 中发送 SASL“初始响应”。元素,包括:

base64(\x00 + utf8(saslprep(username)) + \x00 + utf8(saslprep(password)))

那么,您的 auth元素需要看起来像这样:
<auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl'
mechanism='PLAIN'>AGp1bGlldAByMG0zMG15cjBtMzA=</auth>

对于用户名“juliet”和密码“r0m30myr0m30”。

关于xmpp - XMPP 客户端如何选择认证机制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5209568/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com