Authentication 모듈을 사용하기 위해서 Firebase auth 에서 찾아보면 됩니다.
인증 모듈을 사용할 때 알아야 하는 내용
파이어베이스는 특정 모듈을 사용할 때 모듈을 추가로 불러와야 하는 규칙이 있습니다. => 인증 모듈을 사용하려면 firebase/auth 를 추가로 import 해야 합니다. auth 를 firebase.auth() 식으로 호출해줘야 합니다.
// ./src/fbase.js
import { initializeApp } from "firebase/app"
// import "firebase/auth" 가 에러가 나는 이유는 firebase에서 v9(Beta) 버전을 내놓았기 때문에 내용이 수정되어야 함
import { getAuth } from "firebase/auth"
const firebaseConfig = {
apiKey: process.env.REACT_APP_API_KEY,
authDomain: process.env.REACT_APP_AUTH_DOMAIN,
projectId: process.env.REACT_APP_PROJECT_ID,
strageBucket: process.env.REACT_APP_STORAGE_BUCKET,
messagingSenderId : process.env.REACT_APP_MESSAGIN_SENDER_ID,
appId: process.env.REACT_APP_APP_ID
}
const app = initializeApp(firebaseConfig)
export const authService = getAuth() // 여러 모듈로 내보낼 수 있도록 named export 적용
파이어베이스 초기화를 이한 firebase.initializeApp(firebaseConfig)는 다른 파일에서는 참조할 필요가 없으므로 fbase.js 파일 안에서 실행하도록 코드를 변경합니다.
로그인을 위해서 사용할 firebase.auth() 는 다른 파일에서 참조할 것이므로 authService에 담아서 내보내도록 합니다.
authService를 로그인을 햇는지 여부를 결정하는 isLoggedIn 이 있는 곳에서 사용합니다.