-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Auth 모듈 스프링 서버로 이전(~ing) #418
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* git rm -r --cached . 를 통해 캐시된 이전 파일들 삭제 * 이후 재커밋하여 .gitignore의 application.properties의 추적을 막음
* 캐시된 이전 추적 파일들을 삭제하여 다시 커밋함
* implementation 'org.springframework.boot:spring-boot-starter-data-redis' * implementation 'org.springframework.boot:spring-boot-starter-cache' 두 가지 추가
* 환경변수(host, port, password)를 private 변수로 설정 * Redis Template라는 헬퍼 클래스를 활용해 redis-cli와 상호작용
* Redis Database와 직접적으로 상호작용하는 코드 작성 * get, set, delete를 통해 값을 쓰고, 읽고, 제거 * 환경변수(ttl)를 통해 향후 들어올 refreshToken의 만료 시간 설정
* 'javax.persistence:javax.persistence-api:2.2' 추가
* vscode 관련 설정이 담긴 폴더의 하위 파일들도 git에 반영되지 않도록 함
* enum으로 구현
* CatchyException이라는 커스텀 예외 클래스 구현 * Response는 예외 응답 형태 지정하는 클래스 * Handler는 @ExceptionHandler 어노테이션 통해 실제로 예외 출력하는 클래스
* webflux 추가 * idToken을 인증하여 사용자 정보를 가져오기 위한 외부 url 호출 -> WebClient 사용
* JPA를 통해 편하게 DB를 다루기 위함 * JWT 토큰을 통해 access, refresh 토큰 관리
* security 의존성을 추가하면 디폴트 페이지로 로드되는데, 이를 없애기 위함
* 기존 엔티티 모두 추가 (정확한 관계 설정을 위함) * 추후 수정 필요
* Auth 모듈에서 데이터를 받아오기 위한 DTO 생성 * record, builder 사용
* spring data jpa를 활용해 crud 메서드를 자동생성
* 환경변수 파일 위치 수정 * 캐싱 추가
* 경로가 src/main/resources임
* set 함수를 통해 직접 host, password, port 설정하는 것으로 변경
* 어노테이션을 통해 현재 날짜를 넣어주려 했으나 들어가지 않아 생성자 함수에서 set 함수를 통해 직접 넣어줌
* 토큰을 암호화, 복호화 하는 함수 구현 * 토큰이 유효한지 체크하는 함수 구현
* Controller를 통해 경로마다 함수 라우팅 하고 Service를 통해 세부 로직 구현 * TypeScript의 기존 로직과 동일 * WebClient를 통해 액세스 토큰 받아옴 * 시간이 매우 걸려 개선의 여지가 많음
* 해당 경로가 아예 없어서 실행이 안되는 것 같아 코드를 삭제함
khw3754
approved these changes
Apr 24, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
우와 스프링으로 바꾸시느라 고생하셨습니다!
java 코드 보면서 배우겠습니다!
* CI 코드가 정상적으로 적용되지 않고 에러가 발생해 주석 처리함
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue
Overview
Screenshot
(refresh_id라 가렸는데 uuid 형태로 잘 들어가요!)
To Reviewers
스프링으로 코드를 짜는게 너무 오랜만이라서 시간이 좀 걸렸고, auth 모듈을 위해 user 엔티티를 만들고 다른 엔티티와의 관계 설정을 위해서 결국 엔티티랑 이것저것 다 만들어야 해서 똑같은 서버가 또 생기는 것 같아서 만드는데 고민이 되었어요ㅠㅠ spring 서버는 여기까지만 구현하고 추후에 코드는 nest 서버에서 더 발전시켜보는게 좋을 것 같아용 ..!
++ 그리고 테스트 코드를 작성한게 없는데 왜 안돌아가는지 모르겠네요,,,
(서버도 비용이 많이 나와서 일단은 닫아두었어요!)