작성
·
3K
0
안녕하세요. 항상 강의 잘보고 있습니다.
제 질문은
useEffect의 []안에 딱히 넣은 변수가 없어서 onAuthStateChanged는 한번만 실행된것 같은데
user가 바뀔때마다 바뀐 정보가 실시간으로 업데이트 되는 것인가요?? 어떻게 그게 가능한지 지금으로서는 잘 이해가 안되네요^^; onAuthStateChanged메소드 대신에 currentUser프로퍼티 사용하면 맨 처음 브라우저로 열었을때는 유저가 널로 오다가 두번째부터 그 전에 저장되어있던 유저가 오는데 그 이유는 무엇인지...
onAuthStateChanged가 실시간 양방향 메소드라서 계속 통신하고 있는 거라면 어떤거는 실시간 양방향 통신을 하고 어떤거는 안하는데 어떻게 구분할 수 있는지 알 수 있을까요?? (죄송합니다ㅜ 머릿속이 혼란스러워 질문이 두서가 없네효...)
저는 Auth가 세션개념이라고 생각했는데.. 유저 전용 데이터베이스인가요??? 한번 로그인 하면 언제 다시 들어가도 유지 되는데 컴퓨터를 껏다 키면 로그인 정보 사라지게 할 순 없을까요?? ㅜ_ㅜ
또.. auth에 photoURL 업데이트하고 데이터베이스에 이미지URL 따로 저장하는 이유가 무엇인가요??
이상입니다..
답변 2
0
0
안녕하세요 쭁님
파이어 베이스의 장점중에 하나가 실시간 통신을 굉장히 쉽게 가능하게 해준 다는 것입니다 ~
강의중에 Rest VS Websockets이란 부분있죠? 거기에 관한 부분입니다.
그래서 여기 onAuthStateChanged 메소드에 대해서 설명하는 부분을 보시면 obseerver 옵저버라고 나와있잖아요 ~ 그래서 이거는 계속 지켜보고 있는걸 얘기하는 것입니다. 그러기에 한번만 useEffect에 넣어주시면 계속 관찰을 하고 있습니다.
그리고 원래 애플리케이션에서는 User 데이터베이스를 통해서 인증같은 부분을 다 처리할 수 있겠지만
Firebase에서는 Auth 서비스를 따로 두어서 그걸 통해서 훨씬 강한 인증과 Oauth(소셜 로그인)등 여러 가지 방법으로 로그인 하는걸 쉽게 구현해 두어서 Auth 서비스와 User 데이테베이스 모두에 정보를 넣어주셔야합니다 ~
수고하세요 ~