2012-09-20 102 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令牌爲機制。休息一切仍然是一樣的。

相關問題