const app = initializeApp(firebaseConfig);
initializeApp()
: firebase ์ฑ ์ด๊ธฐํexport const auth = getAuth(app);
auth
๊ฐ์ฒด ์์ฑ )export const db = getFirestore(app);
- getFirestore(app)
: firestore ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์คํด์ค ์์ฑ
- firestore
- firebase์์ ์ ๊ณตํ๋ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ๋ฐ์ดํฐ์ ์ ์ฅ ๋ฐ ์กฐํ๋ฅผ ๋ด๋นํฉ๋๋ค.
- db ๊ฐ์ฒด๋ฅผ ๋ด๋ณด๋ด์ด, ๋ค๋ฅธ ๋ชจ๋์์ Firestore ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ํธ์์ฉํ ์ ์๋๋ก ํจ
import { initializeApp } from "firebase/app";
import { getAuth } from "firebase/auth";
import { getFirestore } from "firebase/firestore";
const firebaseConfig = {
apiKey: process.env.REACT_APP_FIREBASE_API_KEY,
authDomain: process.env.REACT_APP_FIREBASE_AUTH_DOMAIN,
projectId: process.env.REACT_APP_FIREBASE_PROJECT_ID,
storageBucket: process.env.REACT_APP_FIREBASE_STORAGE_BUCKET,
messagingSenderId: process.env.REACT_APP_FIREBASE_MESSAGING_SENDER_ID,
appId: process.env.REACT_APP_FIREBASE_APP_ID,
};
const app = initializeApp(firebaseConfig); // firebase ์ฑ ์ด๊ธฐํ
export { app };
export const auth = getAuth(app); // auth ์ธ์คํด์ค ์์ฑ
export const db = getFirestore(app); // ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์คํด์ค ์์ฑ
import { GoogleAuthProvider, signInWithPopup, signOut } from "firebase/auth";
import { auth } from "../config/firebaseConfig";
export const firebaseAuthService = {
// google social login
async googleLogin() {
try {
const googleAuthProvider = new GoogleAuthProvider();
const result = await signInWithPopup(auth, googleAuthProvider);
return result.user;
} catch (error) {
console.error("โfirebaseAuthService: google login error");
console.error(error);
}
return null;
},
// google social logout
async googleLogout() {
await signOut(auth);
},
};
signInWithPopup()
: ํ์
์ฐฝ์ผ๋ก ๋ก๊ทธ์ธ โ ์ธ์ฆ ๊ณผ์ ์ ๋ง์น๋ฉด ๋ค์ ์ฑ์ผ๋ก ๋์์ด !signInWithRedirect()
: ํ์ด์ง ๋ฆฌ๋ค์ด๋ ์
์ ํตํด ์์
๋ก๊ทธ์ธ ์งํ โ ํ์
์ฐจ๋จ ๋ฌธ์ ํด๊ฒฐsignInWithEmailAndPassword()
: ์ด๋ฉ์ผ๊ณผ ๋น๋ฐ๋ฒํธ๋ฅผ ์ฌ์ฉํ ์ธ์ฆsignInAnonymously()
: ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ์ ๊ณตํ์ง ์๊ณ ์ต๋ช
์ผ๋ก ์ธ์ฆ, ๊ณ์ ์์ด ์์๋ก ์ ๊ทผsignInWithCredential()
: ์๊ฒฉ ์ฆ๋ช
๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ ์ง์ ๋ก๊ทธ์ธ