rubyからX-FACEBOOK-PLATFORM認証を使ってFacebookチャットにログインする方法

Facebook Chat にサーバー側からパスワード認証じゃなくて、Facebook Connectを使ってXMPP Loginするサンプルです。
ここに置いたので、必要であれば勝手につかってください。
https://github.com/kissrobber/xmpp4r_facebook

1.X-FACEBOOK-PLATFORMの仕様で注意

DIGEST-MD5の実装を元にして作っただけで、DIGEST-MD5の仕様について詳しいわけじゃないですが、
なんか、X-FACEBOOK-PLATFORMはDIGEST-MD5とチャレンジのセパレータが違うっぽいです。

The mechanism starts with a server challenge, in the form of a common HTTP query string: an ampersand-separated sequence of equals-sign-delimited key/value pairs. The keys and values are UTF-8-encoded and URL-encoded. The query string contains two items: method and nonce.

https://developers.facebook.com/docs/chat/

X-FACEBOOK-PLATFORMはアンパサンド区切りですが、
DIGEST-MD5はcomma-separetedになっているので自作する時は注意です。

2.サーバーサイドでセッションキーを取得する方法

セッションキーはaccess_tokenからゲットできます。
access_tokenを「|」で三つに分割した真ん中の奴がsession keyです。

session_key = access_token.split('|')[1]