더북(TheBook)

9.2 로그인 상태 유지하기

현재는 앱을 재시작하면 로그인 상태가 풀리기 때문에 MainTab을 확인하려면 매번 로그인을 다시 해야 해서 번거롭지요? 로그인 상태를 유지시켜서 바로 MainTab이 보이도록 구현해줍시다.

앱 종료 시에도 사용자의 로그인 상태를 유지하기 위해 일반적으로 AsyncStorage에 인증 정보를 저장하는 방법을 사용합니다. 하지만 우리는 Firebase로 인증을 구현했기 때문에 꼭 AsyncStorage를 사용할 필요가 없습니다. Firebase 인증은 자동으로 인증 상태를 유지해주기 때문이죠. 우리는 앱 구동 시 Firebase가 기억하고 있는 인증 정보가 있을 경우 해당 인증 정보를 사용하도록 처리해주면 됩니다.

Firebase의 auth().onAuthStateChanged라는 함수를 통해 사용자의 인증 정보가 바뀔 때 특정 작업을 할 수 있습니다. 이 함수를 RootStackuseEffect에서 사용해 사용자 인증 상태를 확인하고 로그인 중이라면 해당 인증 정보를 사용해보겠습니다.

RootStack을 다음과 같이 수정해보세요.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.