Try to remove
protect_from_forgery
In application_controller or
skip_before_filter :verify_authenticity_token
Facebook uses signed_request, which you can decode and use to verify that the request really comes from facebook, so the_from_forgery protection is not needed for applications accessible only through facebook canvas.
: Canvas Authentication ActionController:: RequestForgeryProtection