2014-04-25 1 views
2

레일 4.1.0을 사용하고 있습니다.protect_from_forgery를 끄지 않고 외부 API가 POST를 보내도록하는 방법은 무엇입니까?

프로젝트에있어 옵션이 제한되어 있습니다. 양식을 외부 API에 데이터를 제출해야합니다. 이 응용 프로그램은 다중 폼 기반이므로 세션의 양식 값을 저장했습니다.

API가 내 Rails 응용 프로그램으로 다시 POST되면 세션이 무효화됩니다.

응용 프로그램/컨트롤러/application_controller.rb에서 protect_from_forgery

가 어떻게 다시 내 확인 페이지에 API POST를 할 때까지, 조금 더 세션을 유지할 수 있기 때문에이 (양식이었다 말을 어떻게 알고 성공적으로 제출 되었습니까?)

답변

1

당신은 단지 하나의 조치를 요청 위조 보호를 해제 할 수 있습니다

skip_before_action :verify_authenticity_token, only: :my_action_name 

이 API 다시 게시에 액션의 이름으로 :my_action_name를 교체합니다.

출처 : http://api.rubyonrails.org/classes/ActionController/RequestForgeryProtection/ClassMethods.html#method-i-protect_from_forgery

+0

이 질문을 게시하기 전에 해당 출처를 여러 번 읽었습니다. 이 문서에 대한 추가 설명을 해주셔서 감사합니다. 귀하의 솔루션은 실제로 내 문제를 해결했습니다. – sargas

관련 문제