How to Store API Keys Securely in Firebase Cloud Functions | Hide Secret Key
- 프론트엔드에 API 키나 비밀 키를 저장하는 것은 매우 위험하며, 앱 보안을 심각하게 위협합니다. 🚨
- Firebase Cloud Functions를 사용하여 서버 측에 비밀 키를 안전하게 저장하는 것이 가장 적절하고 권장되는 방법입니다. ☁️
- Stripe와 같은 결제 시스템의 비밀 키를 Flutter 앱에서 안전하게 사용하는 예시를 통해 설명합니다. 💳
- Firebase Functions 설정을 위해 Node.js, npm, Firebase CLI 설치 및 로그인, Flutter 프로젝트와 Firebase 연동이 필수적입니다. 💻
firebase init functions 명령어를 사용하여 함수 디렉토리를 초기화하고, JavaScript 언어와 ESLint 사용을 선택합니다. ⚙️
firebase functions:config:set [서비스명].[키이름]="YOUR_SECRET_KEY" 명령어로 환경 변수를 설정하여 비밀 키를 안전하게 저장합니다. 🔒
index.js 파일에 코드를 작성하여 설정된 환경 변수에서 비밀 키를 가져와 사용하고, package.json에 필요한 종속성을 추가합니다. ✍️
- 배포 전
npm run lint -- --fix 명령어를 functions 디렉토리 내에서 실행하여 코드 형식을 수정하고 배포 오류를 방지합니다. 🧹
firebase deploy --only functions 명령어를 사용하여 Firebase Cloud Functions에 안전하게 저장된 함수를 배포합니다. 🚀
- 로컬 개발 시
.env 파일을 사용하여 비밀 키를 관리하고, dotenv 패키지를 설치하여 로컬 환경에서 키를 로드할 수 있습니다. 🌍
- 배포 후 Firebase 콘솔의 Functions 대시보드에서 성공적인 배포를 확인하고, 앱에서는 프론트엔드가 아닌 함수를 통해 비밀 키를 사용합니다. ✅
데브허브 | DEVHUB | How to Store API Keys Securely in Firebase Cloud Functions | Hide Secret Key