В настоящее время я работаю над Rails-приложением с несколькими другими разработчиками, и на сервере AJAX вы можете отправлять POST через Angular. Иногда мы заметили несколько исключений InvalidAuthenticityToken
, которые попадают в наши журналы электронной почты, что привело к тому, что мы хотели принять меры.
Поскольку этот запрос проходит через Angular, я считаю, что мы рассматриваем сервер как API, и мы должны использовать protect_from_forgery with: :null_session
. Однако protect_from_forgery with: :reset_session
, похоже, дает нам такое же разрешение.
Я не хочу вслепую подключать код только потому, что он рекомендуется, поэтому я хотел бы узнать разницу между этими двумя подходами защиты подделок. Когда я буду использовать один над другим, и почему я предпочитаю его использование?