소셜 로그인을 구현했을 때, 회원 탈퇴도 버튼을 만들고 버튼을 통해 소셜 api에서 제공하주는 unlink api를 연결하고 구현을 끝냈다. 그러나 프로젝트를 점검하던 중, 로그인을 하면서 본 서비스 db에 저장했던 사용자의 정보까지 모두 함께 삭제해야 '사용자의 관점에서 탈퇴'이겠다는 생각을 하게 됐다.
나의 접근 방법
- 클라이언트에서 회원 탈퇴 요청을 했을 때, 소셜 계정의 동의 내역 철회뿐 아니라 서비스 내 사용자의 모든 정보도 삭제
결과
사용자가 연결 끊기 버튼을 누를 시, 서비스 데이터베이스에 존재하는 사용자의 정보를 모두 삭제하였다.
1. MySQL Workbench를 통한 db 확인
2. 연결 끊기
3. 연결 끊기 이후 사용자 관련 정보 삭제
➕
위 이슈를 해결하면서 하나의 의문점이 더 생겼다. 내 서비스에는 위 두 개의 테이블만 존재하는게 아니라 결제를 했을 때, 거래를 했을 때 해당 정보를 저장하는 테이블도 존재한다. 탈퇴한 사용자의 결제 및 거래 정보는 어떻게 다루는게 좋을까?
💡 내 접근
- 탈퇴 시, 정해진 기간 이후 해당 정보가 사라진다고 경고한 뒤 해당 기간동안만 보유하다 삭제
- 문제가 발생할 수 있는 정보기 때문에 해당 정보는 서비스 측에서 관리하고 회원 탈퇴와는 관련없이 서비스가 관리한다는 내용의 동의문을 결제 혹은 거래 시 받아내기
'개발 > withfriend 🫱🏼🫲🏽🥕' 카테고리의 다른 글
[withfriend] 서비스 흐름도 (0) | 2023.11.15 |
---|---|
[프로젝트 회고] 나는 내가 짠 코드를 알까? / private 접근제한자, getter, setter, 생성자 (0) | 2023.11.02 |
[개발 이슈] 포인트 출금 (0) | 2023.11.01 |
[개발 이슈] 사용자 간 거래 → point로 구현하다 (0) | 2023.11.01 |
[프로젝트 회고] 결제 구현, portone, PG사 회고 (0) | 2023.11.01 |