Skip to content
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

[feat #117] 회원 탈퇴 API #118

Merged
merged 24 commits into from
Nov 4, 2024
Merged
Changes from 1 commit
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
98c5138
[feat] : RestTemplateConfig 추가
dudxo Sep 24, 2024
16c1b23
[feat] : OAuth2AccessToken 저장을 위한 코드 작성
dudxo Sep 24, 2024
7bcd7f9
[feat] : oauth2AccessToken 저장 로직 추가
dudxo Sep 24, 2024
c1cd7cf
[feat] : 회원탈퇴 API 추가
dudxo Sep 24, 2024
295c46a
[feat] : 회원탈퇴 응답 DTO 추가
dudxo Sep 24, 2024
e2b0500
[feat] : 회원탈퇴 관련 에러코드 추가
dudxo Sep 24, 2024
5b5c337
[feat] : 회원탈퇴 비즈니스 로직 추가
dudxo Sep 24, 2024
c949f46
[feat] : Oauth2 연결끊기 비즈니스 처리 Service 추가
dudxo Sep 24, 2024
191cb30
[feat] : OAuth2 관련 에러코드 추가
dudxo Sep 24, 2024
75c67f6
[refactor} : 블랙리스트 검증 로직 리팩토링
dudxo Sep 24, 2024
dee41ab
[rename] : DTO 컨벤션에 맞게 네이밍 변경
dudxo Sep 27, 2024
f0c3734
[rename] : 기존 OAuthAccessToken 존재 여부 확인 후 삭제 메소드 네이밍 변경
dudxo Sep 27, 2024
c6a3448
[test] : MemberFixture socialEmail Provider 대문자 -> 소문자 변경
dudxo Oct 22, 2024
fffda19
[feat] : 회원 탈퇴 시 Hard_delete 로직 구현
dudxo Oct 22, 2024
ee8a1b7
[feat] : 연관 회원 변경 메서드 추가
dudxo Oct 22, 2024
44b4701
[feat] : 회원 탈퇴 시 연관 엔티티 제거 쿼리 메서드, 조회 메서드 추가
dudxo Oct 22, 2024
a492b62
[test] : 회원 탈퇴 단위테스트 추가
dudxo Oct 22, 2024
fd17cac
[test] : 회원 탈퇴 통합테스트 추가
dudxo Oct 22, 2024
c14d3e3
[test] : MemberFixture Member 생성 메서드 socialEmail 값 변경에 따른 테스트 로직 수정
dudxo Oct 22, 2024
bf9f77a
[feat] : Bulk update 쿼리 추가
dudxo Oct 24, 2024
e71e62f
[refactor] : 다중 업데이트 성능 개선을 위한 Bulk update 방식으로 변경
dudxo Oct 24, 2024
b9f03f3
[test] : 탈퇴 시 익명 회원 교체 로직 변경에 따른 테스트 코드 수정
dudxo Oct 24, 2024
b7cde2e
[style] : update query method 네이밍 변경
dudxo Nov 4, 2024
1ea0bfa
[fix] : 매개변수명 변경으로 인한 query 오류 해결
dudxo Nov 4, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
[refactor} : 블랙리스트 검증 로직 리팩토링
dudxo committed Sep 24, 2024
commit 75c67f654153fd956040ff58390f6c71a68c2de6
Original file line number Diff line number Diff line change
@@ -33,7 +33,7 @@ protected void doFilterInternal(HttpServletRequest request, HttpServletResponse

if (tokenProvider.validateToken(accessToken, new Date())) {
// accessToken logout 여부 확인
if (tokenProvider.verifyLogout(accessToken)) {
if (tokenProvider.verifyBlackList(accessToken)) {
saveAuthentication(accessToken);
}
}
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package com.dnd.gongmuin.security.jwt.util;

import java.time.Duration;
import java.util.Arrays;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;

import javax.crypto.SecretKey;
@@ -40,6 +40,7 @@
public class TokenProvider {

private static final String ROLE_KEY = "ROLE";
private static final String[] BLACKLIST = new String[] {"false", "delete"};
private static final long ACCESS_TOKEN_EXPIRE_TIME = 1000 * 60 * 90L;
private static final long REFRESH_TOKEN_EXPIRE_TIME = 1000 * 60 * 60 * 24L;
private final MemberRepository memberRepository;
@@ -136,9 +137,9 @@ public Long getExpiration(String token, Date date) {
return (expiration.getTime() - date.getTime());
}

public boolean verifyLogout(String accessToken) {
public boolean verifyBlackList(String accessToken) {
String value = redisUtil.getValues(accessToken);
return Objects.equals("false", value);
return Arrays.asList(BLACKLIST).contains(value);
}

}