[英]Rails CSRF issue on receiving POST request from API
我正在研究與 API 交互的 Rails 應用程序。 現在有一個步驟是 API 將向應用程序發送 POST 請求,我嘗試將返回的數據保存到數據庫中。 但看起來應用程序不接受數據並返回 422 : Unprocessable Entity
這是日志文件中的錯誤消息
W, [2016-02-29T12:21:54.865291 #22727] WARN -- : Can't verify CSRF token authenticity
I, [2016-02-29T12:21:54.865839 #22727] INFO -- : Completed 422 Unprocessable Entity in 1ms (ActiveRecord: 0.0ms)
F, [2016-02-29T12:21:54.870852 #22727] FATAL -- :
ActionController::InvalidAuthenticityToken (ActionController::InvalidAuthenticityToken):
actionpack (4.2.4) lib/action_controller/metal/request_forgery_protection.rb:181:in `handle_unverified_request'
actionpack (4.2.4) lib/action_controller/metal/request_forgery_protection.rb:209:in `handle_unverified_request'
actionpack (4.2.4) lib/action_controller/metal/request_forgery_protection.rb:204:in `verify_authenticity_token'
我也嘗試禁用 CSRF
class MyController < ApplicationController
skip_before_action :verify_authenticity_token
end
但它仍然不起作用。
請幫我解決這個問題。 我已經為這個問題苦苦掙扎了三天。
你可以試試這個
protect_from_forgery with: :null_session, if: Proc.new { |c| c.request.format == 'application/json' }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.