简体   繁体   中英

Firebase auth not working using Vue and Vuex

I'm trying to add authentication using Firebase in my Vue app, but I'm getting [Vue warn]: Error in v-on handler: "TypeError: _config_firebase__WEBPACK_IMPORTED_MODULE_8__.user.SignInWithEmailAndPassword is not a function" error. Here is my irebase config file:

import firebase from "firebase/app";
import "firebase/firestore";
import "firebase/auth";

const firebaseConfig = {
  apiKey: "MY_API_KEY",
  authDomain: "MY_AUTH_DOMAIN",
  databaseURL: "MY_DB_URL",
  projectId: "MY_PROJECT_ID",
  storageBucket: "MY_STORAGE_BUCKET",
  messagingSenderId: "MY_MESSAGE_SENDER_ID",
  appId: "MY_APP_ID"
};

// Initialize Firebase
firebase.initializeApp(firebaseConfig);

// Get a Firestore instance
export const user = firebase.auth();
export const db = firebase.firestore();

Then the action in Vuex:

import { db, user } from "./config/firebase";

 loginUser({ commit }, payload) {
      user
        .SignInWithEmailAndPassword(payload)
        .then(user => {
          console.log(user);
          commit("SET_USER", user);
        })
        .catch(error => {
          commit("setLoading", false);
          commit("setError", error);
          console.log(error);
        });
      router.push("/");
    }

So far, I have been able to Create, Read, Update and Delete, although, the config file was slightly different than this, when I added auth was when I altered the code.

Change this:

user.SignInWithEmailAndPassword(payload)

into this:

user.signInWithEmailAndPassword(payload)

From the docs :

Asynchronously signs in using an email and password.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM