CORS로 해결할 수 없는 것

jhj46456·2020년 6월 19일
0

Mo-Gak-Ko

목록 보기
14/18

지금까지는 GraphQLServer에 cors로 origin을 걸어 놓아도 포스트맨으로 API 호출이 되어

DB를 조회할 때 Field를 지정해서 return하는 방향으로 설계를 하였는데

생각을 해보니 GraphQL 장점이 클라이언트에서 원하는 data만 골라서 가져오는건데

보안을 위해 장점을 없애야하는 건지 의문이 들었다.

문제

CORS가 걸려있음에 불구하고 포스트맨으로 data를 받을 수 있음.

해결

여러분도 알고 있겠지만 graphql-yoga의 GraphQLServer는 내장된 express에서 미들웨어 실행 후
GraphQLServer로 Express.Request가 넘어간다.

그렇다면 요청이 들어왔을 때, origin이 일치하지 않으면 튕겨내면 된다.

결과

이제부터 CORS가 완벽하게 설정되었습니다.

profile
리액뚜

0개의 댓글