Skip to content

Instantly share code, notes, and snippets.

@ayn
Created December 1, 2008 21:00
Show Gist options
  • Save ayn/30845 to your computer and use it in GitHub Desktop.
Save ayn/30845 to your computer and use it in GitHub Desktop.
def form_authenticity_token
@form_authenticity_token ||= if !session.respond_to?(:session_id)
raise InvalidAuthenticityToken, "Request Forgery Protection requires a valid session. Use #allow_forgery_protection to disable it, or use a valid session."
elsif request_forgery_protection_options[:secret]
authenticity_token_from_session_id
elsif session.respond_to?(:dbman) && session.dbman.respond_to?(:generate_digest)
authenticity_token_from_cookie_session
else
raise InvalidAuthenticityToken, "No :secret given to the #protect_from_forgery call. Set that or use a session store capable of generating its own keys (Cookie Session Store)."
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment