2

Firebase 호스팅을 사용하여 호스팅 된 웹 사이트에 액세스하는 WebView가있는 Andiod 앱을 만들고 있습니다.WebView에서 사용자 인증이 유지되지 않습니다.

전자 메일/암호 자격 증명을 사용하여 웹 사이트에 로그인 한 다음 다른 페이지로 새로 고침하거나 탐색하면 Firebase가 로그인 정보를 잃습니다.

내가 firebase.auth().setPersistence(firebase.auth.Auth.Persistence.LOCAL)를 사용하여 내 자격 증명을 유지하기 위해 중포 기지를 강제로 시도했지만이 웹보기 콘솔에서이 오류가 발생합니다 :

Uncaught Error: The current environment does not support the specified persistence type.

보조 노트로서, 나는 유튜브와 구글 같은 다른 서비스에 로그인 시도 브라우저 캐시 문제인지 확인하기 위해 페이지를 새로 고침하고 Android 앱을 탐색하거나 다시 열어도 세션이 정상적으로 유지되었습니다.

나는 에뮬레이터 (Android 8.0 실행)와 전화 (Android 6.0)를 사용하여 Android 앱을 테스트했습니다.

누군가 여기서 무슨 일이 일어나고 있는지 알고 있습니까?

+0

당신은'firebase.auth()를 사용하고 있습니다. onAuthStateChanged' [인증 상태를 얻을? – bojeil

+0

@bojeil 예 전 – wm1sr

+0

웹보기에서 웹 저장 용량을 사용 중지 했습니까? localStorage가 활성화되어 있습니까? – bojeil

답변

4

Firebase Auth는 Auth 상태를 저장하기 위해 웹 저장소 (localStorage/indexedDB)에 의존하므로 웹보기에서 DOM 저장소를 활성화해야합니다.

webview.getSettings().setDomStorageEnabled(true);

+1

고마워요! 나는 이것을 두 번 upvote 할 수 있으면 좋겠다. – Rbar