본문으로 바로가기

[Rails] REST API

category WEB/ROR 2018. 5. 24. 22:17

REST API에 관해서는 다른 블로그의 게시물들이 더 잘 설명해주고 있다. 이제부터 본격적으로 살펴볼 CRUD에서는 글을 작성할 때는 POST, 수정할 때는 PATCH, 삭제할 때는 DELETE, 나머지 페이지를 받아올 때는 GET 메서드를 사용할 예정이다. 모든 액션을 GET으로 처리하면 문제가 없겠지만, 지금처럼 REST하게 하기 위해서는 토큰을 전송하는 과정이 필요하다. 이 토큰을 생성하는 과정을 한 번 알아보고자 한다.


토큰을 사용하는 이유는 CSRF를 방지하기 위함인데, 게시물을 생성할 때 게시물의 제목과 내용만 전송하는 것이 아니라 토큰을 함께 전송해 보안을 강화하는 방법이다. 말은 거창하게 보일 수 있는데 실제 코드는 별 게 없다.



이렇게 컨트롤러에서 토큰을 생성하고,



폼 안에 게시물 제목, 내용 input과 함께 위와같은 토큰 input을 만들어 함께 전송하면 된다. 기본적으로 POST 방식을 사용할 때 이렇게 토큰을 넘겨주지 않으면 오류가 발생하는데, 이러한 오류 메시지를 그냥 무시하는 방법도 있다. application_controller.rb 파일에서



드래그한 영역을 주석처리하는 방법이다. 이를 주석처리하면 오류는 발생하지 않지만 보안적으로 문제가 되므로 권장하는 방법은 아니다. 어렵지 않으니 그냥 토큰을 생성해 넘기자.

'WEB > ROR' 카테고리의 다른 글

[Rails] MODEL  (0) 2018.05.24
[Rails] CRUD  (0) 2018.05.24
[Ruby] attr_accessor  (0) 2018.02.22
[Ruby] public, private method  (0) 2018.02.22
[Ruby] 상속  (0) 2018.02.22