Google chrome XMPP类似Google的同步服务器通知解决方案
我正在寻找一种简单的方法来实现使用以下协议运行的XMPP服务器: 唯一的区别是我必须使用X-GOOGLE-TOKEN身份验证机制: 这个过程很简单:我从客户机发送的数据中获取令牌,基于该令牌请求用户数据,并相应地设置JID,在生成的JID中添加一些随机字符 之后,其他具有可能不同令牌但具有相同用户帐户的客户端连接到XMPP资源,对于订阅的客户端,将启用推送通知广播Google chrome XMPP类似Google的同步服务器通知解决方案,google-chrome,authentication,xmpp,server-side,Google Chrome,Authentication,Xmpp,Server Side,我正在寻找一种简单的方法来实现使用以下协议运行的XMPP服务器: 唯一的区别是我必须使用X-GOOGLE-TOKEN身份验证机制: 这个过程很简单:我从客户机发送的数据中获取令牌,基于该令牌请求用户数据,并相应地设置JID,在生成的JID中添加一些随机字符 之后,其他具有可能不同令牌但具有相同用户帐户的客户端连接到XMPP资源,对于订阅的客户端,将启用推送通知广播 可以从当前可用的实现中借用多少服务器代码?我会避免自己编写所有服务器代码,尽管逻辑相当简单。我知道有ejabberd和prosod
可以从当前可用的实现中借用多少服务器代码?我会避免自己编写所有服务器代码,尽管逻辑相当简单。我知道有ejabberd和prosody xmpp服务器实现了很多XEP。哪一个更容易添加自定义处理机制?你能为核心xmpp服务器推荐其他稳定的替代方案吗?谷歌设计的
X-OAUTH2
非常简单,易于实现。实际上,PLAIN
和X-OAUTH2
机制的工作方式没有区别。您只需选择一个标准的PLAIN
实现,就可以让它在googleX-OAUTH2
身份验证机制中工作,而无需付出额外的努力
我是库中X-OAUTH2
的作者,并且我支持该库。您可以看到我为支持这一点而编写的确切代码行。唯一相关的代码是:
switch($mechanism) {
case 'PLAIN':
case 'X-OAUTH2':
$stanza->t(base64_encode("\x00".$user."\x00".$pass));
break;
对于X-OAUTH2
实现$pass
只不过是您的oauth令牌。简而言之,来自PLAIN
auth机制的密码字段成为X-OAUTH2
机制的oauth令牌。其余的都是一样的