2013년 12월 18일 수요일

[ROR] InvalidAuthenticityToken 발생

안녕하세요 belhyun입니다.
오늘 개발을 하다가 특정 HTTP request 툴을 이용하여 요청을 하려고 했는데, InvalidAuthenticityToken에러가 발생했습니다.
rails에서는 외부로부터의 불법적인 요청(CSRF)을 막기 위해서 authenticity token을 발행하여 요청 시 같이 보내도록 하고 있습니다.
불법적인 요청에 관한 글은 http://en.wikipedia.org/wiki/Cross-site_request_forgery에 자세히 명시되어 있습니다. 따라서 페이지에서도 보면 csrf_meta_tags를 노출하고 있는데 이 또한 이러한 이유 때문입니다. 이를 피하는 방법은 해당 컨트롤러/액션에 대해서 토큰 검사를 하지 않겠다고 명시하면 됩니다. 그 방법은 다음과 같습니다.

skip_before_filter :verify_authenticity_token
또는 특정 액션에 대해서 지정할 수도 있습니다.
skip_before_filter :verify_authenticity_token, :only => [:index, :show]
감사합니다.

댓글 없음:

댓글 쓰기