gpt4 book ai didi

c - 无法将我的应用程序服务器连接到 FCM XMPP 服务器

转载 作者:太空宇宙 更新时间:2023-11-04 04:11:41 25 4
gpt4 key购买 nike

我正在尝试使用 Openssl TLS 连接到 FCM XMPP 服务器

我已经注册了一个项目并拥有服务器 key 和发件人 ID。我按照 https://firebase.google.com/docs/cloud-messaging/auth-server#authorize_an_xmpp_connection 中的说明进行操作

我的所有代码都使用 openssl 在 C 中编写。

以下是我的应用服务器和FCM-XMPP服务器之间的通信应用服务器到 FCM-XMPP:

<stream:stream to='fcm-xmpp.googleapis.com' version='1.0' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams'>

来自 FCM-XMPP 服务器:

<stream:stream from="fcm-xmpp.googleapis.com" id="E1204B9D567A6A8A" version="1.0" xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client">
<stream:features><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>X-OAUTH2</mechanism><mechanism>X-GOOGLE-TOKEN</mechanism><mechanism>PLAIN</mechanism></mechanisms></stream:features>

应用服务器到 FCM-XMPP:

<auth mechanism='PLAIN' xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>base 64 encoding of <null>sendID@fcm-xmpp.googleapis.com<null>serverKey</auth>

来自 FCM-XMPP 服务器:

<failure xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><not-authorized/></failure>

我有一个与 GCM-XMPP 服务器通信的应用服务器。我运行的代码基本相同,我得到了

<success xmlns="urn:ietf:params:xml:ns:xmpp-sasl"/>

最佳答案

FCN-XMPP 的应用服务器应该是:

<auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='PLAIN'></auth>

然后服务器将返回一个空字符串。这是您现在发送编码数据的信号:

<response xmlns="urn:ietf:params:xml:ns:xmpp-sasl">encodedData</response>

编码数据应该是以下编码版本:
\0sendID@fcm-xmpp.googleapis.com\0serverKey

如果成功,您将收到成功标签。

至少所有这些都是我自己实现的客户端的情况。

关于c - 无法将我的应用程序服务器连接到 FCM XMPP 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56559145/

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