carlosparamio / rack-facebook

rack-facebook is a Rack middleware that checks the signature of Facebook params, and converts them to Ruby objects when appropiate. Also, it converts the request method from the Facebook POST to the original HTTP method used by the client.

This URL has Read+Write access

name age message
file README.markdown Fri Jan 09 05:00:41 -0800 2009 change http status code for bad requests to 400 [Carlos Paramio]
file Rakefile Fri Jan 09 01:07:55 -0800 2009 initial import [Carlos Paramio]
directory lib/ Fri Jun 26 10:11:29 -0700 2009 receive app name on init and pass it up the sta... [davidhq]
file rack-facebook.gemspec Wed Nov 11 01:12:49 -0800 2009 updated article URL [Carlos Paramio]
directory spec/ Fri Jun 26 10:11:29 -0700 2009 receive app name on init and pass it up the sta... [davidhq]
README.markdown

This Rack middleware checks the signature of Facebook params, and converts them to Ruby objects when appropiate. Also, it converts the request method from the Facebook POST to the original HTTP method used by the client.

If the signature is wrong, it returns a "400 Invalid Facebook Signature".

Optionally, it can take a block that receives the Rack environment and returns a value that evaluates to true when we want the middleware to be executed for the specific request.

Usage

In your config.ru:

require 'rack/facebook'
use Rack::Facebook, "my_facebook_secret_key"

Using a block condition:

use Rack::Facebook, "my_facebook_secret_key" do |env|
  env['REQUEST_URI'] =~ /^\/facebook_only/
end

Credits

Carlos Paramio

http://evolve.st/