Firebase signInWithEmailAndPassword在vue.js中不起作用

杰西·弗兰森(Jessey Fransen)

我正在尝试使该标志部分在我的Web应用程序上工作,但工作不正常。每当我按下登录按钮时,页面就会刷新并且url将使用凭据更新并停留在同一页面上,或者路由器将被推送并转到“主页”而无需登录用户。

我还遵循了该指南作为参考:https : //blog.logrocket.com/vue-firebase-authentication/

奇怪的是,注册部分工作正常。

登录

<div class="card-body">
          <form>
            <!-- email -->
            <div class="input-group form-group">
              <div class="input-group-prepend">
                <span class="input-group-text"><i class="fas fa-user"></i></span>
              </div>
              <input id="email" type="email" class="form-control" name="email" placeholder="e-mail" value required autofocus v-model="form.email" />
            </div>
            <!-- password -->
            <div class="input-group form-group">
              <div class="input-group-prepend">
                <span class="input-group-text"><i class="fas fa-key"></i></span>
              </div>
              <input id="password" type="password" class="form-control" name="password" placeholder="password" required v-model="form.password" />
            </div>
            <!-- error -->
            <div v-if="error" class="alert alert-danger animated shake">{{ error }}</div>
            <br />

            <!-- login -->
            <div class="form-group d-flex justify-content-between">
              <div class="row align-items-center remember"><input type="checkbox" v-model="form.rememberMe" />Remember Me</div>
              <input type="submit" @click="submit" value="Login" class="btn float-right login_btn" />
            </div>
          </form>
        </div>

SignIn.vue中的脚本

<script>
  import firebase from 'firebase';

  export default {
    data() {
      return {
        form: {
          email: '',
          password: '',
          rememberMe: false
        },
        error: null
      };
    },
    methods: {
      submit() {
        firebase
          .auth()
          .signInWithEmailAndPassword(this.form.email, this.form.password)
          .catch(err => {
            this.error = err.message;
          })
          .then(data => {
            this.$router.push({ name: 'home' });
          });
      }
    }
  };
</script>

Store.js

import Vue from 'vue';
import Vuex from 'vuex';

import profile from './modules/profile';
import authenticate from './modules/authenticate';

Vue.use(Vuex);

export default new Vuex.Store({
  modules: {
    profile,
    authenticate
  }
});

商店中的Authenticate.js

const state = {
  user: {
    loggedIn: false,
    data: null
  }
};

const getters = {
  user(state) {
    return state.user;
  }
};

const mutations = {
  SET_LOGGED_IN(state, value) {
    state.user.loggedIn = value;
  },
  SET_USER(state, data) {
    state.user.data = data;
  }
};

const actions = {
  fetchUser({ commit }, user) {
    commit('SET_LOGGED_IN', user !== null);
    if (user) {
      commit('SET_USER', {
        displayName: user.displayName,
        email: user.email
      });
    } else {
      commit('SET_USER', null);
    }
  }
};

export default {
  state,
  mutations,
  actions,
  getters
};
雷诺·塔内克(Renaud Tarnec)

可能是因为您将submit类型分配给了按钮,所以您的表单是在触发Firebase方法之前提交的。

您应该将按钮代码从

 <input type="submit" @click="submit" value="Login" class="btn float-right login_btn" /> 

 <input type="button" @click="submit" value="Login" class="btn float-right login_btn" />

有关按钮类型的更多详细信息,请参见W3规范

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

Firebase查询逻辑在Android中不起作用

来自分类Dev

CreateUser函数在AngularFire中不起作用-Firebase简单登录?

来自分类Dev

Firebase $ save在事件处理程序函数中不起作用

来自分类Dev

v-cloak在vue.js中不起作用?

来自分类Dev

Firebase存储在Express Server环境中不起作用

来自分类Dev

Firebase signInWithEmailAndPassword()400()POST错误

来自分类Dev

Firebase消息不起作用

来自分类Dev

Firebase @PropertyName不起作用

来自分类Dev

更新Vue.js中的数据Mounted()不起作用

来自分类Dev

基础网格在vue js模板中不起作用

来自分类Dev

Firebase查询不起作用

来自分类Dev

登录后,获取路由在laravel中的vue js组件中不起作用

来自分类Dev

Firebase signInWithEmailAndPassword NullPointer(JavaScript)

来自分类Dev

在Firebase onDataChange中更改JavaFX节点不起作用

来自分类Dev

消息在Python firebase-admin中不起作用

来自分类Dev

Firebase注销在Flutter应用程序中不起作用

来自分类Dev

等到Firebase完成加载数据(vue)/“等待”不起作用

来自分类Dev

在JS中插入window.location之后,Firebase数据库代码不起作用

来自分类Dev

Firebase AuthWithOAuthToken不起作用

来自分类Dev

Firebase orderByKey不起作用

来自分类Dev

Firebase消息不起作用

来自分类Dev

Firebase setValue在IOS 10,Swift 3中不起作用

来自分类Dev

Firebase ApplicationDefaultCredentials在dev_appserver中不起作用

来自分类Dev

Firebase排序不起作用

来自分类Dev

尝试在 firebase 中 signInWithEmailAndPassword 时未获得 customToken

来自分类Dev

Vue.js 循环不起作用

来自分类Dev

从 Firebase 数据库中删除子项不起作用

来自分类Dev

ChartJS 在 Vue 中不起作用

来自分类Dev

Vue js 在我的 Laravel 中不起作用

Related 相关文章

热门标签

归档