首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法将我的应用程序服务器连接到FCM XMPP服务器

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

Stack Overflow用户
提问于 2019-06-12 17:44:32
回答 1查看 297关注 0票数 1

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

我已经注册了一个项目,并且有一个服务器密钥和发件人ID。我遵循https://firebase.google.com/docs/cloud-messaging/auth-server#authorize_an_xmpp_connection中的说明

我所有的代码都是使用openssl的C语言编写的。

下面是my App Server与FCM-XMPP Server App Server到FCM-XMPP的通信:

代码语言:javascript
运行
复制
<stream:stream to='fcm-xmpp.googleapis.com' version='1.0' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams'>

从FCM-XMPP服务器:

代码语言:javascript
运行
复制
<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:

代码语言:javascript
运行
复制
<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服务器:

代码语言:javascript
运行
复制
<failure xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><not-authorized/></failure>

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

代码语言:javascript
运行
复制
<success xmlns="urn:ietf:params:xml:ns:xmpp-sasl"/>
EN

回答 1

Stack Overflow用户

发布于 2019-06-13 13:29:20

到FCN-XMPP的app-server应该是:

代码语言:javascript
运行
复制
<auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='PLAIN'></auth>

然后,服务器将使用空字符串进行响应。这就是现在发送编码数据的信号:

代码语言:javascript
运行
复制
<response xmlns="urn:ietf:params:xml:ns:xmpp-sasl">encodedData</response>

其encodedData应为以下内容的编码版本:

\0sendID@fcm-xmpp.googleapis.com\0serverKey

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56559145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档