최근 웹프로젝트의 이관 작업을 하면서 Firebase Auth 로 관리하던 User 정보를 export 해 타사에 전달하는 작업을 진행했습니다.
그 과정에서 처음으로 Firebase CLI 를 이용해봤는데요, CLI 라고 하면 대부분 거부감을 느낄 수 있지만, 생각보다 아주 간단한 작업이었습니다. 그 방법을 공유해보려고 합니다!
Firebase 프로젝트의 Authentication 데이터 내보내기
이 튜토리얼에서는 Firebase CLI를 사용하여 특정 Firebase 프로젝트의 Authentication 데이터를 내보내고, 해당 데이터를 처리하는 방법을 배웁니다.
1. Firebase 프로젝트 설정 확인
먼저, Firebase CLI가 올바른 프로젝트에 설정되어 있는지 확인해야 합니다. Firebase 프로젝트를 설정하지 않았다면, 다음 명령어를 사용하여 설정할 수 있습니다.
firebase projects:list
위 명령어를 통해 현재 로그인한 계정의 Firebase 프로젝트 목록을 확인할 수 있습니다. 그런 다음, 내보내려는 프로젝트를 선택합니다.
firebase use <PROJECT_ID>
여기서 <PROJECT_ID>
는 내보내려는 Firebase 프로젝트의 ID입니다.
2. Firebase Auth 데이터 내보내기
Firebase CLI가 올바른 프로젝트로 설정되었으면, 이제 Authentication 데이터를 내보낼 수 있습니다.
firebase auth:export users.json --format=JSON
이 명령어는 현재 설정된 프로젝트의 사용자 데이터를 users.json
파일로 내보냅니다.
3. Node.js 스크립트로 데이터 추출
내보낸 users.json
파일에서 이메일과 비밀번호 해시를 추출하는 Node.js 스크립트를 작성합니다.
extractUserData.js 파일 생성
const fs = require('fs');
// 내보낸 JSON 파일 읽기
const data = JSON.parse(fs.readFileSync('users.json', 'utf8'));
// 이메일과 비밀번호 해시 추출
const users = data.users.map(user => ({
email: user.email,
passwordHash: user.passwordHash
}));
// 추출한 데이터를 새로운 JSON 파일로 저장
fs.writeFileSync('email_password_hashes.json', JSON.stringify(users, null, 2));
console.log('이메일과 비밀번호 해시가 성공적으로 추출되었습니다.');
스크립트 실행
Node.js 스크립트를 실행하여 이메일과 비밀번호 해시를 추출합니다.
node extractUserData.js
이 명령어를 실행하면 email_password_hashes.json
파일이 생성됩니다. 이 파일에는 각 사용자에 대한 이메일과 비밀번호 해시가 포함되어 있습니다.
요약
Firebase 프로젝트 설정 확인
firebase projects:list
firebase use <PROJECT_ID>
Firebase Auth 데이터 내보내기
firebase auth:export users.json --format=JSON
Node.js 스크립트 작성 및 실행
// extractUserData.js 파일 생성 및 작성
node extractUserData.js
이 과정을 통해 특정 Firebase 프로젝트의 Authentication 데이터에서 이메일과 비밀번호 해시를 성공적으로 추출할 수 있습니다.
'Study > Firebase' 카테고리의 다른 글
Firebase ) emailVerified 상태를 변경하기 위해 (1) | 2022.07.21 |
---|
댓글