모바일 클라이언트가 승인 용으로 devise_token_auth
과 함께 사용하는 Rails 5 API 프로젝트에서 작업하고 있습니다.레일즈 5 devise_token_auth CSRF 토큰 진 본성을 확인할 수 없습니다.
나는 경고의 의미를 분명히했습니다.
첫번째 질문 :CSRF는 API (JSON/XML) 올바른, 응답에 대한 해제해야 보호?
웹에서 CSRF가 쿠키와 함께 웹 응용 프로그램에서만 발생하는 것으로 조사되었습니다.
그것은 XML 또는 JSON 요청도 영향을받는 것을 기억하는 것이 중요> 당신은 API를 구축하는 경우는 기본적으로와 ApplicationController의 위조 방지> 방법 (변경해야합니다 : : : 예외하지만 난 rails api document에서이 읽기) :
class ApplicationController < ActionController::Base protect_from_forgery unless: -> { request.format.json? } end
그래서 난 여전히 다음과 같이 추가하여 경고를 얻을 :
class ApplicationController < ActionController::Base
protect_from_forgery unless: -> { request.format.json? }
include DeviseTokenAuth::Concerns::SetUserByToken
end
두번째 질문 : API는 CSRF 보호를 필요로하지 않는다, 왜
protect_from_forgery unless: -> { request.format.json? }
작동하지 않는
?내가 잘못 알고 있는지 확실하지 않습니다. 고맙습니다!
감사합니다. Toby! 편집 됨. – Nathan