Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cannot parse Firebase url. Please use https://<YOUR FIREBASE>.firebaseio.com

While i click on the login button i get this error :

[19:49:11] [2018-12-25T20:49:57.389Z]  @firebase/database:, FIREBASE 
FATAL ERROR: Cannot parse Firebase url. Please use https://<YOUR 
FIREBASE>.firebaseio.com
- node_modules/@firebase/logger/dist/index.cjs.js:69:32 in 
defaultLogHandler
- node_modules/@firebase/logger/dist/index.cjs.js:159:31 in error
- node_modules/@firebase/database/dist/index.cjs.js:333:20 in fatal
- node_modules/@firebase/database/dist/index.cjs.js:1256:14 in 
parseRepoInfo
- node_modules/@firebase/database/dist/index.cjs.js:15103:38 in 
refFromURL
* src/modules/auth/api.js:24:24 in getUser
* src/modules/auth/api.js:19:32 in <unknown>
- node_modules/@firebase/auth/dist/auth.js:17:105 in <unknown>
- node_modules/@firebase/auth/dist/auth.js:20:199 in Fb
- ... 13 more stack frames from framework internals

I copied and pasted the config stuff directly from Firebase, so it should be correct, but I get this error anyway. What could be causing this? Is there any way the URL I'm copying from my database could be wrong somehow?

As you you can see in the error shown are in my file api.js in

.then((user) => getUser(user, callback))

and in

database.refFromURL('users').child(user.uid).once('value')

So here is my code from api.js is like this :

import { auth, database, provider } from "../../config/firebase";

export function register(data, callback) {
    const { email, password } = data;
    auth.createUserWithEmailAndPassword(email, password)
        .then((user) => callback(true, user, null))
        .catch((error) => callback(false, null, error));
}

export function createUser (user, callback) {
   database.refFromURL('users').child(user.uid).update({ ...user })
        .then(() => callback(true, null, null))
        .catch((error) => callback(false, null, {message: error}));
}

export function login(data, callback) {
    const { email, password } = data;
    auth.signInWithEmailAndPassword(email, password)
        .then((user) => getUser(user, callback))
        .catch((error) => callback(false, null, error));
}

export function getUser(user, callback) {
    database.refFromURL('users').child(user.uid).once('value')
        .then(function(snapshot) {

            const exists = (snapshot.val() !== null);

            if (exists) user = snapshot.val();

            const data = { exists, user }
            callback(true, data, null);
        })
        .catch(error => callback(false, null, error));
}

can anyone please help where i missed up

like image 876
koreangirl Avatar asked Nov 07 '25 10:11

koreangirl


2 Answers

i used

database.ref(`users/`+user.uid).once('value')

instead of

database.refFromURL('users').child(user.uid).once('value') 

and it works fine for me now.

like image 127
koreangirl Avatar answered Nov 10 '25 02:11

koreangirl


Please go through this documentation and update to new modular type or if you want to use old structure then, update to

<script src="https://www.gstatic.com/firebasejs/8.5.0/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/8.5.0/firebase-auth.js"></script>
<script src="https://www.gstatic.com/firebasejs/8.5.0/firebase-database.js"></script>
<script src="https://www.gstatic.com/firebasejs/8.5.0/firebase-storage.js"></script>

update all to version 8.5.0. Will work flawless

like image 37
Zakaul Haque Avatar answered Nov 10 '25 02:11

Zakaul Haque



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!