Firebase Google аутентификация в сети доза не работает на Android-приложение веб-просмотра - PullRequest
0 голосов
/ 06 июля 2019

Я создаю веб-сайт, который имеет логин с аутентификацией Google Firebase. Работает нормально во всех браузерах. Но когда я добавляю этот сайт в свое приложение как веб-просмотр, он не работает.

веб-сайт, показывающий эту ошибку:

Эта операция не поддерживается в среде, в которой работает это приложение. «location.protocol» должен быть http, https или chrome-extension, и веб-хранилище должно быть включено.

здесь код ниже:

код JavaScript:

function login(){
    console.log('login called');
    function newLoginHappend(user){
        if(user){
            model_questions(user);
        }else{
            var provider = new firebase.auth.GoogleAuthProvider();

            firebase.auth().signInWithPopup(provider).then(function(result) {
              // This gives you a Google Access Token. You can use it to access the Google API.
              var token = result.credential.accessToken;
              // The signed-in user info.
              var user = result.user;
              // ...
            }).catch(function(error) {
              // Handle Errors here.
              var errorCode = error.code;
              var errorMessage = error.message;
              // The email of the user's account used.
              var email = error.email;
              // The firebase.auth.AuthCredential type that was used.
              var credential = error.credential;
              // ...
            });
        }
    }

    firebase.auth().onAuthStateChanged(newLoginHappend);
}

window.onload = login();

код веб-просмотра:

   WebSettings webSettings =webView.getSettings();
   webSettings.setJavaScriptEnabled(true);
   webView.setWebViewClient(new WebViewClient());
   webView.loadUrl("https://mahmud-cse16.github.io/CBAP_Handout/");

Есть ли способ или техника для решения этой проблемы ?? если у вас есть идеи, то поделитесь с нами, пожалуйста.

спасибо

1 Ответ

0 голосов
/ 08 июля 2019

Попробуйте включить DOM Storage для веб-просмотра

WebSettings webSettings = myWebView.getSettings();
webSettings.setDomStorageEnabled(true);   // localStorage

Устанавливает, включен ли API хранилища DOM. Значением по умолчанию является false.

Справочник разработчика Android

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...