본문 바로가기

Firebase3

[Firebase] Auth undefined 문제 해결방법 안녕하세요, 개발자 Sean입니다. 사이드 프로젝트로 만드는 어플에서 자꾸만 원인 모를 에러가 발생해 퇴근 후 원인을 분석하다 해결방법을 발견해 관련해서 포스팅하려고 합니다. 현재 프로젝트에서 typescript와 firebase의 auth를 활용해 프론트엔드를 만들고 있는데요, 이 둘 조합해서 사용하는게 여간 까다로운 일이 아니네요. (아마... 제 실력이 떨어져서겠죠..?ㅎㅎ;;) 우선 토큰을 가져오기 위해 auth.currentUser.getIdToken()를 호출하면 타입에러가 발생합니다. 이유는 auth.currentUser 안에 getIdToken() 메서드가 있을 수도 있고 없을 수도 있기 때문입니다. 자세히 이해하지 못했지만 auth 객체가 호출될 때 중간단계(초기화 등)를 거치기 때문이라.. 2023. 3. 15.
[Firebase] 소셜로그인 후 비동기적 처리 오늘 토이 프로젝트를 진행하다 결국 우려하던 일이 발생하고 말았다. Firebase의 구글 로그인 기능을 구현해 사용자가 로그인하면 사용자의 단어장 데이터를 받아오는 기능을 구현해야 했는데, 사실 관련 부분은 나중에 생각해야지~ 하고 미뤄두었다가 오늘 사용자 로그인을 하며 단어장을 보려고 하니 문제가 생겼다. 내가 의도했던 단어장 데이터를 가져오는 절차는 다음과 같았다. 1. 사용자가 google 로그인 버튼을 클릭한다. 2. google 로그인 페이지로 리디렉션 된다. 3. 로그인을 한다. 4. 다시 애플리케이션의 화면으로 돌아온다. 5. 사용자의 auth/state를 업데이트한다. 6. 사용자의 단어장 데이터를 firestore로부터 가져온다. 문제가 생긴 원인으로는 5번과 6번이 동기적으로 처리되었.. 2022. 4. 16.
[Firebase] signOut API로 로그아웃 해야하는 이유 오늘 토이 프로젝트를 진행하면서 firebase 인증 기능을 이용하다가 로그아웃 기능도 함께 구현을 시도했다. 그러다가 문득 드는 생각 그냥 firebase로부터 얻은 token 데이터만 없애버리면 로그아웃이지 않을까? firebase api 문서에는 signOut api가 있는데 이걸 굳이 써야 할 이유가 있을까? 그래서 같이 프로젝트를 진행하고 있는 동료분께 아주 우매한 질문을 드려봤다. Firebase로 부터 인증토큰을 얻는데 성공했습니다. 근데 Firebase api 문서에 signOut api가 별도로 있는걸 발견했습니다. 사용자가 로그아웃 하도록 하려면 반드시 해당 api를 사용해야 하나요? 이전 프로젝트에서는 그냥 로컬에 있는 토큰 데이터를 삭제시켜서 로그아웃 했거든요. 우매한 질문이지만 친.. 2022. 4. 14.