Как зарегистрировать только пользователей, которые подтвердили свои адреса электронной почты, используя ссылку электронной почты в Firebase javascript? - PullRequest
1 голос
/ 28 марта 2020

Я использую Vue, и это мой метод регистрации. Он подписывает любой идентификатор электронной почты ... означает, что он регистрирует даже идентификаторы электронной почты, которые мне не принадлежат, например "test@example.com", потому что нет проверки электронной почты ..

Я настроил проверку электронной почты в консоли Firebase. Теперь я хочу, чтобы метод регистрации отправлял письмо с подтверждением и регистрировал пользователя только в том случае, если он / она подтвердил адрес электронной почты.

как мне изменить свой существующий код? Я в замешательстве.

import firebase from 'firebase'
export default {
  name: 'signup',
  data: function () {
    return {
      email: '',
      password: ''
    }
  },
  methods: {
    signup: function (e) {
      firebase.auth().createUserWithEmailAndPassword(this.email, this.password)
        .then(user => {
          alert(`Account created for ${user.user.email}`)
          this.$router.go({ path: this.$router.path })
        },
        err => {
          alert(err.message)
        })
      e.preventDefault()
    }
  }
}

1 Ответ

1 голос
/ 28 марта 2020

Стандартный способ отправить электронное письмо с подтверждением - использовать метод sendEmailVerification().

Таким образом, вы можете изменить свой код следующим образом:

methods: {
   signup: function (e) {
      firebase.auth().createUserWithEmailAndPassword(this.email, this.password)
        .then(userCredential => {
            return userCredential.user.sendEmailVerification()
         })
         .then(function() {
            alert(`Account created for ${userCredential.user.email}`)
            this.$router.go({ path: this.$router.path })
         })
         .catch(err => {
            alert(err.message)
         })
      e.preventDefault()
   }
}

В документации вы найдете более подробную информацию, в частности, о параметре типа ActionCodeSettings, который вы можете передать методу.

Обратите внимание, что вы можете настроить содержимое электронного письма в консоли Firebase.

...