2017-01-04 6 views
6

범용 앱의 경우 react-server 안에 csurf을 고속 미들웨어로 추가하고 싶습니다.반응 서버와 함께 csurf 사용

내가 원하는 것은 반응 구성 요소의 양식에 숨겨진 입력에 csrf 토큰을 추가하여 서버 렌더링 웹 사이트에서 제공하는 것과 동일한 csrf 보호 흐름을 유지하지만 SPA 내에서 제공하는 것입니다.

기술적으로 반응 서버 내에서 가능합니까? 그렇다면 어떻게 응답 객체에서 사용할 수있는 csrf 토큰을 페이지를 통해 (이상적으로) 반응 구성 요소에 전달할 수 있습니까?

답변

2

는 사실은 같은 문제에 달려 다행히 여기에 솔루션 건너 일어난 : https://github.com/kriasoft/react-starter-kit/issues/1142

그냥 할이 기능을 사용하려면 다음 모든 얻을 요청에 대해 함께 쿠키를 설정

app.use(csrf({ cookie: true, value: (req) => (req.cookies.csrfToken) })); 

csrf 토큰 :

res.cookie('csrfToken', req.csrfToken ? req.csrfToken() : null, { sameSite: true, httpOnly: true }); 
+0

이 점을 지적 해 주셔서 감사합니다. 반응적인 서버 컨텍스트에서도 작동 할 수 있도록 상당히 일반적인 솔루션 인 것 같습니다. – feychou