• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 Spring 게시판 JWT에 user데이터의 id를 넣어도 되나요?

JWT에 user데이터의 id를 넣어도 되나요?

4 글 보임 - 1 에서 4 까지 (총 4 중에서)
  • 글쓴이
  • #137063

    공군급양
    참가자
    안녕하세요, 코딩애플님!
    재미있는 유튜브랑 강의 정말 감사합니다. 덕분에 프로그래밍을 배우면서 처음으로 재밌다는 감정을 느꼈습니다. ㅎㅎ
    
    다름이 아니라, 제가 졸업을 위한 프로젝트를 진행하고 있는데, 팀장의 피드백을 듣고 궁금한 점이 생겨 문의 글을 남기게 되었습니다. 
    저는 JWT에 유저 Id(이메일)대신에 유저 테이블의 id속성값(1,2,3...)을 담아서 보내려고 했습니다. 그런데 피드백을 들어보니, '이러한 테이블 
    id값(1,2,3...)은 현업에서 username이라고 불리며, 해당 속성은 잘 사용하지 않는다?(제가 정확하게 이해한 것인지는 잘 모르겠습니다.)' 라는 말을 듣게 되었습니다.
    
    또한, user 정보를 조회할 필요가 있을 때, uri를 예를 들어 /my-page/1과 같이 userId부분을 직접적으로 경로 변수로 노출시키는 것은 
    옳지 못하다는 피드백도 받았습니다.
    
    정말 userId가 노출되면 안 되는 민감한 정보인가요? 제가 생각해봤을 때는 악의적인 사용자가 다른 사용자의 userId를 알아낸다고 해도, 
    특별히 할 수 있는 것은 없고, 오히려 이메일이 더 개인정보에 가깝다고 봐서 이렇게 코드를 작성했었습니다.
    제가 잘못된 방향으로 설계를 한 것인가요? 또, 그렇다면 경로 변수로 테이블의 id값을 주는 방식의 uri는 안 좋은 습관인 것일까요? 
    
    
    
    
    
    • 이 게시글은 공군급양에 의해 3 월, 2 주 전에 수정됐습니다.
    #137067

    codingapple
    키 마스터
    예측할 수 있다 크롤링가능하다는게 단점입니다
    민감한 유저 정보 안주면 딱히 위협은 아닌데 그냥 관습상 uuid같은거 쓰라고 하긴 합니다
    jwt는 db 덜쓰려고 쓰는건데 이메일이랑 개인정보 빼고 uuid만 넣으면 jwt 쓰는 장점이 없긴 하겠군요
    #137073

    공군급양
    참가자
    그냥 단순한 id(1,2,3...)를 넣으면 크롤링하기 쉽고, 정보를 예측하기 쉬우므로 혹시 모를 보안 사고를 예방하기 위해 관습상 uuid를 쓰는 것이다!
    여기까지는 이해가 확실히 되었습니다. 다만, 마지막에 jwt는 db 덜쓰려고 쓰는 것인데 이메일 빼고, uuid만 넣으면 jwt 쓰는 장점이 없다는 것이 이해가 잘 되지 않습니다 ㅠㅠ
    
    예를 들어, /my-page를 통해 제 개인 정보를 보여주는 화면을 구성하려고 할 때, 어차피 이메일을 쓰던가 uuid를 쓰던가 id를 쓰던가해서 
    member 객체를 DB에서 조회해 와야하는 것 아닌가요? ㅠㅠ 선생님, 이 멍청한 수강생을 위해 한 번만 더 답변 부탁 드리겠습니다...
    
    
    
    
    		
    	
    #137079

    codingapple
    키 마스터
    추가정보필요하면 db 조회가 필요한데 그냥 이메일 이름 이런건 jwt에 보관해두면 db까지 갈 필요가 없을 수도요
4 글 보임 - 1 에서 4 까지 (총 4 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠