Vue로 PWA 개발 - 그랜파 개발자
사용자가 웹앱의 홈페이지에 접속하면 자동으로 로그인을 합니다.
onAuthStateChanged는 Firebase Authentication에서 사용자의 로그인 상태 변화를 실시간으로 감지하는 메서드입니다. 이 메서드를 사용하면 사용자가 로그인하거나 로그아웃할 때마다 즉시 반응하여 앱의 상태를 업데이트할 수 있습니다.
onAuthStateChanged 메서드는 Firebase에서 제공하는 auth 객체를 사용하여 구현됩니다. 이 메서드는 로그인 상태의 변화를 감지하고, 그에 따라 콜백 함수를 실행합니다.
import { getAuth, onAuthStateChanged } from "firebase/auth";
const auth = getAuth();
// onAuthStateChanged 함수 사용
onAuthStateChanged(auth, (user) => {
if (user) {
// 사용자가 로그인한 경우
console.log("사용자가 로그인되었습니다:", user);
// user 객체에서 추가 정보를 확인할 수 있습니다.
console.log("사용자 이메일:", user.email);
} else {
// 사용자가 로그아웃한 경우
console.log("사용자가 로그아웃되었습니다.");
}
});
로그인 여부에 따라 앱에서 특정 페이지나 컴포넌트를 보여주거나 숨기기 위해 onAuthStateChanged를 활용할 수 있습니다.
import { getAuth, onAuthStateChanged } from "firebase/auth";
const auth = getAuth();
onAuthStateChanged(auth, (user) => {
if (user) {
// 로그인된 경우: 사용자 정보를 보여주는 UI 표시
showUserProfile(user);
} else {
// 로그아웃된 경우: 로그인 페이지로 리디렉션
redirectToLoginPage();
}
});
function showUserProfile(user) {
console.log("사용자 프로필 표시:", user.email);
}
function redirectToLoginPage() {
console.log("로그인 페이지로 이동합니다.");
}