2024. 1. 11. 20:45ㆍTIL
https://github.com/LSW990918/NewsFeedProject/issues/6
오늘은 우리 팀원이 작성한 JWT토큰 방식에서 userId를 얻어오는 방법에 대해 이슈가 있었다.
일단 처음에는 userId 가 토큰에 담겨있지 않았기에 작동은 제대로 안됐다.
(userId를 받아오려는 이유는 이것이 각각의 row마다 고유한 key이기 때문)
해결책으로 3가지가 나왔다.
- org.springframework.security.core.userdetails.User 객체가 아닌 User 도메인의 User로 바로 받아올 수 있게 수정.
- org.springframework.security.core.userdetails.User 객체를 그대로 사용하고 프로퍼티 중 하나에 userId 값을 입력.
- 현재 코드를 유지하고 받아온 객체의 email을 이용해 userId 값을 db에서 조회.
나로서는 각각의 장점, 단점같은 세세한 사항은 몰랐는데 고맙게도 팀원이 친절하게 알려주셨다.
윤승환 팀원 왈
저도 2번이 제일 편할 것 같긴한데 저 객체의 어떤 프로퍼티에 넣어야 맞을지는 좀 더 생각해봐야 할 것 같습니다.
1번 방식의 경우 스프링 시큐리티에서 저런 기능을 제공하는지 알아봐야 하고 개발 복잡성이 늘어날 것 같고,
3번 방식은 db조회가 한번 더 이뤄져야 하는게 단점일 것 같아요
일단 우리가 선택한것은 2번이라
회원가입 쪽을 맡아주셨던 류영우 팀원이 이렇게 남겨주셨다.
기존 User클래스 (org.springframework.security.core.userdetails.User) 에 있는 password 프로퍼티에 userId를 추가하는 방법으로 변경했습니다.
이로써 기존의 PostController, CommentController 부분을 수정해주고 오늘 코딩은 마무리하였다.
오늘의 한마디 : 이렇게 나보다 코드를 잘짜는 사람이랑 같은 팀이 되는것도 한수 배우는 느낌이라서 좋다.
'TIL' 카테고리의 다른 글
20240115 (월) 뉴스피드프로젝트 발표 및 KPT 회고 (0) | 2024.01.15 |
---|---|
20240112 (금) 뉴스피드프로젝트 개발 마루리 및 발표 대본 작성 (1) | 2024.01.12 |
20240110 (수) 뉴스피드 프로젝트 Posts와 Comments 병합 (0) | 2024.01.10 |
20240109 (화) 뉴스피드 프로젝트 개발과정 (0) | 2024.01.09 |
20240108 (월) 뉴스피드 프로젝트 (1) | 2024.01.08 |