[rails] InvalidAuthenticityToken 에러 100% 해결법

IT 관련 지식/루비|2022. 4. 20. 15:10
반응형
728x170

rails에서 POST형태로 데이터를 보내면 token으로 올바른 페이지에서 보낸건지 확인하는 보안 처리 기능이 있다

 

이는 특히 form 태그를 사용할 때 많이 발생하는 문제인데

 

자동으로 token을 넣어서 데이터를 보내주기 때문에 form 헬퍼(form_tag로 된 form 태그)를 사용할 경우

 

InvalidAuthenticityToken 에러가 발생하지 않아야 한다

 

그래도 발생하는 경우가 있는데 그럴 경우 아래와 같은 방법을 사용하면된다

 


1. 해결 방법

 

app/controllers/application_controller.rb에 들어간다

 

application_controller.rb

 

여기에 다음과 같이 입력한다

protect_from_forgery with: :null_session, if: Proc.new { |c| c.request.format == 'application/json'}

그럼 다음과 같이 된다

 

이후 다시 POST를 해보면 해결된 것을 알 수 있다

 

가끔 인터넷을 보면 아래와 같이 그냥 protect_from_forgrey만 있는 걸 알 수 있는데

 

이거만 있으면 다른 부분이 안되는게 있기 때문에 꼭 내가 추가한 옵션을 넣어주도록 한다

 

300x250

 

반응형

댓글()