Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add CSRF protection #133

Open
scottohara opened this issue Apr 27, 2018 · 0 comments
Open

Add CSRF protection #133

scottohara opened this issue Apr 27, 2018 · 0 comments

Comments

@scottohara
Copy link
Owner

Currently the Rails API doesn't do any CSRF checking (i.e. protect_from_forgery), but it should.

This could presumably be done by adding something like:

class ApplicationController < ActionController::API
    include ActionController::RequestForgeryProtection

    before_action :csrf_token_valid?
    after_action :set_csrf_cookie

    protected

    def set_csrf_cookie
      cookies['X-CSRF-Token'] = form_authenticity_token
    end

    def csrf_token_valid?
      Rails.env != 'production' || request.headers['X-CSRF-Token'] === cookies['X-CSRF-Token']
    end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant