api 와 클라이언트의 인증 문제를 어떻게 할 것이냐
라는 고민이 생겨 이래저래 정보를 수집해 보았는데,
아무래도 JWT 기반의 토큰 인증 방식이 많이 쓰이는 것 같아
JWT 토큰 인증 방식을 채택하였다.
클라이언트 단에서는, AccessToken과 UserData의 유무를
판독하고, Private한 Route에 접근할 수 있게 구조를 설계했는데,
토큰을 어디가 저장할지에 대한 고민이 생겼다.
방법은 2가지 정도로 나왔는데
1. Cookie Header에 저장
2. Authorization Header에 저장
이 두가지 방법이었다.
쿠키헤더에 저장하는 방식은
HttpOnly 와 Secure Option을 통하여
Cross-Site Scripting을 방지하여 사용자 토큰의
값이 변경되지 않는다는 장점이 있었고,
Authorization Header에 저장하는 방식은
Xss와 CSRF 공격 둘다 강하지만,
결국 서버에 저장하는 토큰 조차, 1차적으로
보관을 클라이언트 사이드에서 해야된다는 문제가 생긴다.
그리고, 헤더에 계속 토큰을 추가해야되는 것도
1인 개발로써 문제가있고,
훗날 알파 버전이후에 CSRF 보안을 잡는다고 생각하고,
당장에는 쿠키헤더에 저장하는 방식을 이용하려고 한다.
'Project 주문을 외워봐' 카테고리의 다른 글
주문을 외워봐 -8- FrontEnd (0) | 2021.09.21 |
---|---|
주문을 외워봐 -7- 서버와 DB (0) | 2021.09.21 |
주문을 외워봐 -5- 개발 환경 , Git (0) | 2021.08.31 |
주문을 외워봐 -4- Backend 라이브러리 (0) | 2021.08.28 |
주문을 외워봐 -3- FrontEnd 라이브러리 (0) | 2021.08.27 |