- 파이콘 2018 에서 flask jwt 튜토리얼 들고 실습한 코드 및 내용 정리
- 인증 : 로그인 같이 사용자임을 확인
- 인가 : 해당 사용자가 API 사용을 위한 권한을 갖는지 확인
- 랜덤 토큰은 해당 사용자 정보를 얻기 위해 DB 혹은 인증 서버를 태워야함
- 이로 인한 추가적인 오버해드 발생
- 차라리 토큰에 점보를 json 형태로 심음 으로 해당 비용을 줄임
- iss : 토큰 발행자
- exp : 토큰 만료일
- sub : 뭔지 기억이....
- scope : 튜토리얼 진행하신 분이 쓰는 필드, 어디 가지 볼 수 있는지 알려줌(권한)
- RBAC : 인가에 대한 구현
- 보안 이슈
- 쿠키에 저장 -> xss 공격 방지
- 쿠키에 저장할 경우 csrf 에 대해 방어 해야함
- 우리가 모르는 도메인에서 요청이 올 수 있음
- 공개키를 사용 하는 것도 좋음
- 민감한 데이터는 payload 에 넣으면 안됨
- 토큰이 탈취 될 것을 가정해야함
- 토큰의 유효시간을 짧게 할 수 록 좋음
- 서비스 요청을 하다가 토큰을 만료 됐을 경우, access_token 길게 가져감
- 인증 DB를 거치는 것을 권장