2016-08-21 1 views
1

현재 내 응용 프로그램은 인증 상태 변경 콜백을 사용하여 권한과 응용 프로그램의 기본 페이지 섹션 사이를 이동 함을 나타냅니다. (참고 : AngularFire를 사용하지 않습니다)Javascript에서 Firebase 3 인증 상태를 동 기적으로 확인할 수 있습니까?

Firebase 3에는 firebase.auth().currentUser이 있지만 firebase이 서버에서 데이터를 가져 오지 못하면 currentUser는 null로 설정됩니다. 이 값은 시작시 null이 될 수 있지만 사용자가 응용 프로그램을 사용하지 않고 2 초 후에 설정됩니다.

내 응용 프로그램에서 사용자 인증 상태는 본질적으로 비동기이기 때문에 인증 페이지를 보는 것이므로 현재 사용자 업데이트 후에 사용자가 볼 수있는 첫 번째 화면의 결정 요인이되어야합니다. 홈 페이지는 매우 번거로운 페이지 전환을 표시합니다.

초기 화면 -> 로그인 -> 홈

로그인 페이지에 시간의 양은 그러나 그것은 매우 눈에 띄는입니다 모바일 데이터, 인터넷 연결에 따라

.

사용자가 로그인했는지 확인하는 방법이 있습니까? true 또는 false를 반환합니다. 비동기 메서드를 약속으로 만들 수 있지만 사용자가 이미 로그 아웃 한 경우에는 onAuthStateChanged 콜백이 시작시 호출되지 않습니다.

+0

Firebox v3 인증 GitHub의 전체 작동 예 https://github.com/rhroyston/firebase-auth –

답변

1

아니요 .onAuthStateChanged을 사용하여 사용자 인증 상태를 결정하십시오.

HTML/CSS를 수정하여 해결 된 문제인 currentUser 이전의 로그인 표시/깜박임과 관련하여 기본보기는 로그인 요소를 표시하면 안됩니다. .onAuthStateChanged이 로그인하지 않았다는 메시지 만 표시합니다.

+1

그게 내가 생각한 것입니다. 해킹 된 솔루션처럼 보였다. – Hobbyist

관련 문제