У меня есть Rails API
, и я использую devise
для аутентификации.Моя клиентская часть - React SPA.
Я пытался включить protect_from_forgery
в моем application_controller
как:
class ApplicationController < ActionController::Base
protect_from_forgery with: :null_session
before_filter :configure_permitted_parameters, if: :devise_controller?
protected
def configure_permitted_parameters
devise_parameter_sanitizer.permit(:sign_up, keys: [:name])
devise_parameter_sanitizer.permit(:sign_in, keys: [:otp_attempt])
end
end
Но при каждом запросе put/post
выдается ошибка:
Can't verify CSRF token authenticity
Это имеет смысл, потому что я не отправляю обратно CSRF token
с моими запросами.Кажется, что способ сделать это для рельсов - это добавить <%= csrf_meta_tag %>
в мой application.html.erb
, но я использую jbuilder
для преобразования всего в json
перед отправкой в мой SPA.
Есть лиКак я могу получить доступ к этой информации на стороне клиента, чтобы я мог включить защиту для CSRF?