Closed isayaksh closed 11 months ago
소셜 로그인 기능을 통해 회원 가입한 유저가 서비스 회원 탈퇴를 위한 기능을 구현하였다.
Kakao와 Google의 경우 특별한 절차 없이 Database에 존재하는 User Document를 삭제한다.
Kakao
Google
User
Apple의 경우는 소셜 로그인한 유저 정보를 POST https://appleid.apple.com/auth/revoke 엔드 포인트를 통해 소셜 로그인한 상태를 해제해야 한다.
Apple
POST https://appleid.apple.com/auth/revoke
Revoke tokens
회원 탈퇴 추상화 메소드를 만들고 해당 추상화 메소드를 상속받아서 각 상황에 맞게 구현한다.
@Override public void deleteUser(String id, String code) { userRepository.deleteById(id); }
@Override public void deleteUser(String id, String code) { MultiValueMap<String, String> bodyValue = new LinkedMultiValueMap<>(); bodyValue.add("client_id", CLIENT_ID); bodyValue.add("client_secret", createClientSecret()); bodyValue.add("token", getAccessToken(code)); WebClient client = WebClient.create(); client.post() .uri("https://appleid.apple.com/auth/revoke") .contentType(APPLICATION_FORM_URLENCODED) .bodyValue(bodyValue) .retrieve() .bodyToMono(String.class) .block(); }
✏️ Description
소셜 로그인 기능을 통해 회원 가입한 유저가 서비스 회원 탈퇴를 위한 기능을 구현하였다.
Kakao
와Google
의 경우 특별한 절차 없이 Database에 존재하는User
Document를 삭제한다.Apple
의 경우는 소셜 로그인한 유저 정보를POST https://appleid.apple.com/auth/revoke
엔드 포인트를 통해 소셜 로그인한 상태를 해제해야 한다.📌
Revoke tokens
회원 탈퇴 추상화 메소드를 만들고 해당 추상화 메소드를 상속받아서 각 상황에 맞게 구현한다.
💻 Kakao
💻 Google
💻 Apple