JWT 구현 제가 제대로 한게 맞는지 .. 아리송합니다. 조언좀 부탁드립니다.

김제연   
   조회 2438   추천 0    

기존 php 사이트를 node.js 로 바꾸면서 .api 서버를 두고 

API 만 처리 하도록 하고 .. 인증을 JWT로 바꾸었습니다.. 

근데 세션이랑 JWT로그인 방식중 JWT 방식은.. db 요청을 줄이고 

세션으로 인한 메모리 낭비 같은게 없으니 장점으로 보고 작업을 했습니다.


그런데 이게 사용하고 보니까 .. 좀 아리송한 부분이 있습니다.

기본적으로 

아이디 권한 사용자 타입 이렇게 3개를 JWT로 보내고 있습니다.

클라이언트에서 서버로 뭔가를 하려고 토큰을 보내서 받은뒤

뭔가를 하려면.. 일단 user 정보를 쿼리 해와야 합니다.. 3개 가지고는 할 수 있는게 

로그인된 사용자냐 아니냐만 확인 가능하니까요 .. 

결국 node.js 는 요청이 왔을때 사용자 정보를 다시 요청해서 req.user 같은곳에 따로 

등록을 해줘야 합니다.. 이러다 보니 api 서버에서 ... 사용자가 api 를 요청 할때마다 

사용자 정보 가져와서 req.user 에 등록을 해줘야 하는데 .. 

이럴꺼면.. 그냥 세션이 더 낫지 않나 싶은 생각이 드는데요 .. 일단 방법이 없으니

만들고 있긴 한데 .. 원래 이런게 맞는건지.. 

아니면 잘못하고 있는건지 궁금합니다. 조언 부탁 드립니다.

짧은글 일수록 신중하게.
henol 2019-01
제 경우는 JWT는 아니지만 브라우저에 계속 남기고 싶은 데이터를
localstorage 에 저장해서 빼서 쓰는 것을 구현했었습니다.
     
김제연 2019-01
로컬에서 쓰는거면 말씀하신데로 하면 되는데 ..
서버쪽에서 api 요청이 왔을경우 .. 만약
저 상황에서 .. 회사에 소속된 주문을 조회 한다고 하면..
결구 JWT 요청 -> 정상 사용자 맞는지 확인 -> 사용저 정보 조회-> req.user 에 등록
-> 쿼리문에서 req.user 에 등록된 정보를 바탕으로 쿼리

세션에서는 그냥 -> 사용자 인증 및  사용자 정보 조회 -> 쿼리문에서 세션값 그데로 사용

이렇게 되면 세션이 더 간단하고 부하가 없을것 같아서요 .
부연하면 JSON Web Token 은 아시는대로 헤더(알고리즘,타입), 페이로드(데이타), 검증코드(해시)로 이루어 집니다. 내용 자체는 대부분 base64로 인코딩되어있어서 복호화하면 내용은 그대로 노출되는 편이고, 단지 해시코드가 각 사이드에서 가지고 있는 동일한 개인키로 메시지가 정상적으로 만들어졌는지 여부를 '검증'할수 있다고 해서 사용하기에, 보안에 민감하지 않은 정보를 간단한 방법으로 무결한 메시지라고 표현하는데 주안점을 둬야 합니다. 서버쪽에서 유저ID로 처리에 필요한 사용자데이터를 지속적으로 쿼리를 할수밖에 없는 구조라면 좀더 유용한 정보를 보안에 지장없이 추가적으로 담아서 쿼리를 줄일수 있는지 검토가 필요하지 않을까 합니다. JWT 원래목적대로 간단한 방법으로 검증코드만 확인해서 해당 메시지가 진짜 인증해준 사용자가 요청했는지/아닌지 여부만 가지고 동작을 실행시키는 업무로직이라면 믿고 수행해도 됩니다.


QnA
제목Page 5120/5710
2015-12   1692082   백메가
2014-05   5157816   정은준1
2018-12   2466   행복하세
2021-09   2466   naan
2021-07   2465   달리는붐봄
2019-10   2465   박문형
2020-03   2465   green1052
2020-12   2465   헥사코어
2021-06   2465   짱님
2023-08   2464   김준유
2020-10   2464   박상범
2021-06   2464   네이쳐
2021-04   2464   surren
2021-01   2464   Noman
2019-05   2464   izegtob
2019-05   2464   고11
2022-04   2464   새로운차원
2020-11   2464   가빠로구나
2021-06   2464   미수맨
2021-03   2464   Psychophysi…
2021-06   2463   뭐든팔아요
2021-09   2463   먹짱이