전체 보기
🍀

Service에서 다른 Service 의존, AccessToken 재발급 로직, CICD 구축

작성일자
2023/08/27
태그
DIARY_DEVELOP
프로젝트
FIS
책 종류
1 more property

Service에서 다른 Service 의존 vs 다른 Repository(Dao) 의존

비즈니스 제약사항의 사용이 필요하다면 (일반적으로 CUD)Service, 그렇지 않다면 Repository (일반적으로 Read)!
파사드 패턴
어디쪽인지 모호한 친구들 → 묶어서 더 상위 레이어 만든다.
추가 궁금증) 컨트롤러에서 여러 서비스들 의존하는 구조는 왜 나쁜가? 트랜잭션 전파가 안일어나나? 기존 police 레거시 구조가 이렇게 되어 있는데 바꿀 합당한 이유 찾기!

CICD

오랜만의 cicd 구축! 이번이 6,7번째 cicd 구축이었는데 예전과 달리 정말 수월하게 구축할 수 있었다.
에러 요인 : 보안 그룹 8080 안열어뒀었고, docker build할 때 경로를 dockerfile이 있는 곳에서 하지 않았음. private key로 openSSH 주는 거 까먹고 ppk 넣음.
2트만에 성공!

AccessToken 재발급 로직

먼저 깃허브를 탐방해 다른 프로젝트 코드들을 보면서 로직을 정리해보자.
1번) 두둥 : Token Entity: refreshToken, user / token: id
refreshToken으로 db에서 Token Entity 찾기
Token Entity의 refreshToken을 파싱해서 id 찾기
id로 db에서 User Entity 찾기
User Entity의 oauthInfo로 재로그인 시키기
User Entity로 accessToken 재생성하기
2번) 아띠즈(내 플젝) : Token Entity: refreshToken, user / token: loginId, role
refreshToken으로 db에서 Token Entity 찾기
Token Entity의 refreshToken을 파싱해서 expiration 찾기
만료 시간이 지니지 않았으면 refreshToken 속 내용으로 accessToken 재생성하기
만료 시간이 지났으면 TOKEN_EXPIRED 에러 내보내기
3번) 비치컴바인 (내 플젝) : Token Entity: refreshToken, user / token: loginId
refreshToken 유효한지 확인
refreshToken 파싱해서 loginId 찾기
loginId와 refreshToken으로 db에서 Token Entity 찾기
loginId로 db에서 Member Entity 찾기
4번) 아이러빗(회사 다른 플젝) : Token Entity: refreshToken, accessToken, user / token: id