Аутентификация в Firebase с помощью Django - PullRequest
1 голос
/ 25 апреля 2019

Я создаю сайт с Django, на котором могут быть зарегистрированы пользователи.Для этого процесса регистрации я использую Аутентификацию Firebase.Когда я пробую это на моей локальной машине, в режиме отладки Django, установленном в true, все работает нормально.Но когда я обращаюсь к своей облачной машине, на которой для отладки задано значение false и используется https, аутентификация Firebase не работает.Он просто не аутентифицирует пользователей, сообщение об ошибке не отображается.

Это мой код входа в систему:

<script src="https://www.gstatic.com/firebasejs/5.10.0/firebase.js"></script>
<!-- Firebase App is always required and must be first -->
<script src="https://www.gstatic.com/firebasejs/5.8.4/firebase-app.js"></script>

<!-- Add additional services that you want to use -->
<script src="https://www.gstatic.com/firebasejs/5.8.4/firebase-auth.js"></script>
<script>
    // Initialize Firebase
    var config = {
        apiKey: "...",
        authDomain: "...",
        databaseURL: "...",
        projectId: "...",
        storageBucket: "...",
        messagingSenderId: "..."
    };
    firebase.initializeApp(config);
</script>

<script>
    function googleLogin(){
        var provider = new firebase.auth.GoogleAuthProvider();
        firebase.auth().useDeviceLanguage();
        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;
            // ...
            firebase.auth().currentUser.getIdToken(/* forceRefresh */ true).then(function(idToken) {
                var csrftoken = '{{ csrf_token }}';
                $.post("/api/login", {'csrfmiddlewaretoken': csrftoken, 'token': idToken});
                document.location.reload(true);
            }).catch(function(error) {
                alert("Error al iniciar sesión")
                // Handle error
            });
            }).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;
            // ...
        });
    }
</script>
...