2012-09-20 62 views
2

我在寻找实现与下面的协议上运行的XMPP服务器的简单方法: https://developers.google.com/cloud-print/docs/rawxmppXMPP类似谷歌的解决方案

唯一的区别是,我必须使用X-GOOGLE-TOKEN验证机制:https://stackoverflow.com/a/6211324/227244

过程很简单:我从客户端发送的数据中获取令牌,根据此令牌请求用户数据并相应地设置JID,并将一些随机字符附加到生成的JID中。

可能具有不同的令牌,但相同的用户帐户的其他客户端后,连接到XMPP资源和谁订阅推送通知的广播功能的客户端。

多少金额的服务器代码可以从当前可用的实现借用?我会避免自己编写所有的服务器代码,尽管逻辑非常简单。我知道有ejabberd和韵律xmpp服务器实现了大量的XEP。哪一个更容易添加自定义处理机制?你可以建议核心xmpp服务器的其他稳定的替代品吗?

回答

1

的方式谷歌已经设计是死的简单和容易实现。逸岸,有间PLAIN和机制的工作原理没有什么区别。你可以简单地选择一个标准PLAIN实施,使之成为谷歌认证机制的工作,没有额外的努力。

我是Jaxl PHP library的作者,我是recently announced支持里面的库。 Here你可以看到我为了支持这个而必须写的确切的代码行。唯一相关的代码是:

switch($mechanism) { 
    case 'PLAIN': 
    case 'X-OAUTH2': 
     $stanza->t(base64_encode("\x00".$user."\x00".$pass)); 
     break; 

对于实施$pass不过是您的OAuth令牌。总之,从PLAIN身份验证机制,密码字段将OAuth令牌为机制。休息一切仍然是一样的。

相关问题