Моя задача — написать функцию в пакете javascript, которая будет встроена в html-сайты для проверки формы. Проверка будет выполняться через вызов API на мой сервер.
Вопрос в том, как передать и проверить токен CSRF с JS на мой сервер Rails.
Я пытался сделать это:
var token = function(xhr) {xhr.setRequestHeader('X-CSRF-Token', $('meta[name="csrf-token"]').attr('content'))};
$.ajax({
url: 'http://localhost:3000/csrf-check',
type: 'POST',
beforeSend: token,
data: {
hey: 'hey'
},
success: function(response) {
console.log(response);
}
})
В моем ValidatorController:
class ValidatorController < ApplicationController
protect_from_forgery
def csrf_check
if session[:_csrf_token]
render json: :ok
else
render json: :fail
end
end
end
Как я могу отправить токен CSRF и проверить его на сервере Rails?