Google에서 제공하는 백엔드 서비스 플랫폼이다.
Firebase를 사용하면 개발자는 서버를 직접 구축하지 않아도, 앱의 핵심 기능을 빠르게 개발하고 배포할 수 있다.
Firebase SDK는 Firebase 서비스와 앱을 연결하여 다양한 기능을 쉽게 구현할 수 있도록 돕는 Software Development Kit(SDK)이다.
import * as admin from "firebase-admin";
// Firebase Admin SDK 초기화
admin.initializeApp({
credential: admin.credential.applicationDefault(),
});
// Firestore 인스턴스
const db = admin.firestore();
// Firestore 데이터 읽기
const getDocument = async () => {
const doc = await db.collection("users").doc("user_id").get();
if (doc.exists) {
console.log("Document data:", doc.data());
} else {
console.log("No such document!");
}
};
apiKey
, authDomain
등을 사용하여 설정됩니다.import { initializeApp } from "firebase/app";
import { getFirestore, doc, getDoc } from "firebase/firestore";
// Firebase Client SDK 초기화
const firebaseConfig = {
apiKey: "your_api_key",
authDomain: "your_auth_domain",
projectId: "your_project_id",
};
const app = initializeApp(firebaseConfig);
// Firestore 인스턴스
const db = getFirestore(app);
// Firestore 데이터 읽기
const getDocument = async () => {
const docRef = doc(db, "users", "user_id");
const docSnap = await getDoc(docRef);
if (docSnap.exists()) {
console.log("Document data:", docSnap.data());
} else {
console.log("No such document!");
}
};
특징 | Admin SDK | Client SDK |
---|---|---|
권한 제어 | 모든 권한 (관리자 권한) | Firebase 보안 규칙에 의해 제한 |
환경 | 서버 측 (Node.js, Cloud Functions 등) | 클라이언트 측 (브라우저, 모바일 등) |
인증 방식 | 서비스 계정 (Service Account) | Firebase 프로젝트 설정 파일 |
Firebase 서비스 | Firestore, Authentication, Cloud Storage, FCM 등 모든 기능 | Firestore, Authentication, Cloud Storage 등 주요 기능 |
보안 | 인증 없이 모든 데이터 접근 가능 | 보안 규칙에 따라 사용자 권한 제어 |
사용 목적 | 관리 작업 (대량 처리, 관리자 기능) | 사용자와의 직접적인 상호작용 |
코드 초기화 | admin.initializeApp() | initializeApp(firebaseConfig) |