Search
🎈

유저 탈퇴 트리거 Cloud function

생성일
2021/01/08 15:26
태그
Boilerplate
Firebase
Firebase Cloud Function
속성
속성 1
속성 2
2021/01/30 08:57
서비스의 유저가 탈퇴하는 경우 해당 유저에 연관된 데이터를 정리하여 DB 비용을 줄여야 합니다.
매일 batch 를 이용해 탈퇴한 유저의 데이터를 정리할 수도 있지만 Firebase는 Cloud function 에 Authentification 트리거를 제공합니다.
신규 유저가 가입했거나, 탈퇴했을 때 원하는 cloud function 을 실행시킬 수 있습니다.
예를 들면,
신규 유저 가입 시 Push 메시지 전송, 초기 DB 값 지정 등
유저
유저 탈퇴 시 DB 정리
와 같은 작업을 할 수 있습니다.
현재 서비스 하고 있는 수업지구대 앱에 유저 기반서비스를 제공하기 위해 인증을 붙이는 작업을 진행하고 있습니다.
아직 탈퇴 시 DB 를 정리하는 로직이 없어 계속 DB 에 불필요한 데이터가 쌓이고 있습니다. 처음에는 몇일 지켜봤는데, 앞으로 유저가 많아지면 비용처리에 문제가 될 수 있겠다는 헛된? 꿈을 갖고 DB 를 정리하는 코드를 미리 작업하기로 했습니다.
현재 사용하고 있는 firestore scheme 입니다.
users/{uid} 에 유저가 설정한 닉네임, neis 학교 정보를 저장하고 있습니다.
유저가 탈퇴하면 더 이상 필요없는 정보이므로 users/{uid} 를 지우도록 합니다.
Firebase 의 인증트리거 예제는 다음과 같습니다.
exports.sendByeEmail = functions.auth.user().onDelete((user) => { // ... });
JavaScript
복사
예제를 따라서 뚝딱뚝딱
functions/index.js 에 trigger 를 작성하고 저장합니다.
exports.userInfoCleanUp = functions.auth.user().onDelete((user) => { console.log('deleted user', user) });
JavaScript
복사
Console log 에 auth 에 trigger 가 설정되었다고 뜹니다
이제 앱에서 Firebase Authentification currentUser 에서 deleteUser 를 호출하면?!