파이어베이스로 구현한 회원기능을 사용하던 도중, 로그인이나 회원가입을 완료한 이후에 브라우저를 종료했을 때. 로그인 상태가 없어져버리거나, 로그인 상태가 지속되는 것을 확인하였다. 인증 상태의 지속성은 어떻게 설정되는 것인가?
로그인한 사용자가 명시적으로 로그아웃할 때까지 무기한 유지할지, 창을 닫으면 상태를 삭제할지, 아니면 페이지 새로고침 시 삭제할지 지정할 수 있다.
파이어스토어의 인증 상태 지속성은 setPersistence() 함수를 통해 설정할 수 있다. setPersistence() 함수에서 제공하는 지속성 설정을 3가지가 존재한다.
1. browserLocalPersistence
-> 사용자가 로그아웃하면 로그인 상태를 제거.
2. browserSessionPersistence
-> 사용자가 브라우저 탭을 종료하면 로그인 상태를 제거.
3. browserNonePersistence
-> 사용자가 브라우저 탭을 새로고침하면 로그인 상태를 제거.
setPersistence(auth, '인증상태속성명')
.then(async () => {
try {
await signInWithEmailAndPassword(appAuth, inputUserData.email, inputUserData.password);
}
catch () {
console.log('error!');
};
})
.catch((error) => {
console.log('error!');
});