작성
·
334
0
안녕하십니까. 강의 잘 듣고 있습니다 🙂
다름이아니라 궁금한 점이 있어 문의를 드리게 되었습니다.
token 계열은 접근시 token 그 자체를 사용하기 때문에 DB 조회가 없어 장점이 있는 로그인 방식이라 생각이 드는데요.
1) 강의에서 처럼 access token 을 이용하여 항상 db에서 사용자 데이터를 조회해 온다면 그런 장점이 사라지지 않을까요?
2) 또한 부하가 많이 걸리지 않을까요?
답변 1
0
안녕하세요!
JWT 토큰의 장점중 하나는 Session에 비해 데이터베이스를 보지 않아도 되는 상황이 "존재한다는게" 장점이 맞습니다.
만약에 특정 요청을 진행할때 사용자 정보를 가져올 필요가 없다면 안가져오는 로직으로 사용하셔도 됩니다.
하지만 JWT는 정보가 완전 오픈 돼있기 때문에 민감한 정보를 들고 있지 못합니다. 그래서 사용자 정보를 가져와야 한다면 어차피 데이터베이스를 볼 수 밖에 없습니다.
하지만 JWT 토큰을 위 이유때문에 만든게 아닙니다. 어쩌다 보니 따라오게된 장점중 하나라고 생각하시면 됩니다. JWT는 완전히 Stateless입니다. 토큰 자체에 있는 정보만으로도 토큰 검증이 가능합니다. 그게 토큰을 이슈한 서버든 아니든 가능하다는거죠.
JWT가 크게 각광받기 시작하던 시기는 Distributed System이 인기를 타기 시작할때입니다. Monolithic architecture가 아닌 Microservice Architecture를 더 많이 사용하는 추세가 되다보니 인증 과정이 stateful하다면 너무 큰 병목이 되기 때문입니다.
감사합니다!