Как войти через Google и Facebook с помощью Firebase Auth на Cordova - PullRequest
0 голосов
/ 22 апреля 2020

Как мне заставить это работать? Я использую этот код, когда нажимаю кнопку, я захожу в Google через Firebase:

loginWithGoogle: () => {
        console.log("Logging in with Google...");
        if(!cordova){
            app.auth().signInWithPopup(googleProvider)
            .then((user, error) => {
                if(error){
                    console.log("Unable to login with Google!");
                } else {
                    dispatch({
                        type: "AUTH_LOGIN",
                        payload: true
                    });
                }
            }).catch((error) => {
                if(error){
                    console.log("Error from Google: " + error.message);
                    store.dispatch({type: "NOTIFY", payload: {
                        message: error.message,
                        type: "error"
                    }});
                }
            });
        } else {
            // in cordova
            app.auth().signInWithRedirect(googleProvider)
            .then((user, error) => {
                if(error){
                    console.log("Unable to login with Google!");
                } else {
                    dispatch({
                        type: "AUTH_LOGIN",
                        payload: true
                    });
                }
            }).catch((error) => {
                if(error){
                    console.log("Error from Google: " + error.message);
                    if(error.code === "auth/invalid-cordova-configuration"){
                        store.dispatch({type: "NOTIFY", payload: {
                            message: "Dit werkt nog niet. Work in progress.",
                            type: "warning"
                        }});
                    } else {
                        store.dispatch({type: "NOTIFY", payload: {
                            message: error.code + ": " + error.message,
                            type: "error"
                        }});
                    }
                }
            });
        }
    }

В результате выдается сообщение об ошибке, что у меня нет подключаемого модуля cordova-universal-links-plugin-fix установлены. Тем не менее, я установил плагин, и это моя конфигурация. xml:

<?xml version='1.0' encoding='utf-8'?>
<widget id="io.cordova.hellocordova" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<hook type="before_prepare" src="scripts/prebuild.js" />
<name>HelloCordova</name>
<description>
    A sample Apache Cordova application that responds to the deviceready event.
</description>
<author email="dev@cordova.apache.org" href="http://cordova.io">
    Apache Cordova Team
</author>
<content src="index.html" />
<plugin name="cordova-plugin-whitelist" spec="1" />
<access origin="*" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
<platform name="android">
    <allow-intent href="market:*" />
</platform>
<platform name="ios">
    <allow-intent href="itms:*" />
    <allow-intent href="itms-apps:*" />
</platform>

    <universal-links>
        <host name="lazymindme.page.link" scheme="https" event="ul_lazymindme_page_link" />
        <host name="lazymind-me.firebaseapp.com" scheme="https" event="ul_lazymindme_firebaseapp_com">
            <path url="/__/auth/callback"/>
        </host>
    </universal-links>
</widget>

Немного предыстории: я следовал этому руководству, чтобы успешно настроить ReactJS в cordova: https://medium.com/@pshubham /, используя -react-с-Cordova-f235de698cc3

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