Ошибка с админской пожарной базой: «admin.auth (...). GeneratePasswordResetLink не является функцией» - PullRequest
0 голосов
/ 31 января 2019

Я отправил письма по электронной почте через Node.js (nodemailer) и firebase.

Когда я создаю нового пользователя в приложении, этот новый пользователь должен получить приветственное письмо со ссылкой для сброса пароля.

Теперь мне нужно реализовать firebase admin --generatePasswordResetLink в node.js

В этой строке кода есть проблема, ошибки в том, что generatePasswordResetLink () не является функцией:

admin.auth (). generatePasswordResetLink (user.email, actionCodeSettings)

// Create user
async function createUser(user) {
  firebase
    .auth()
    .createUser({
      email: user.email,
      password: user.password,
      displayName: `${user.firstName} ${user.lastName}`
    })
// After user is created make a email teamplate and send it
    .then(function(userRecord) {
      let resetLink = ''    
      // Welcome email template
      const output = `
        <p>You have access to the Church Mutual Assignment Tool.</p>
        <p>Follow this link to create new password for your account ${userRecord.email}:</p>
        <p>${this.resetLink}</p>
        <p>Thanks,</p>
        <p>Your Church Mutual Assignment Tool team</p>
      `
      let message = {
        from: 'nyik6nntutmq3vz6@ethereal.email',
        to: `${user.email}`,
        subject: 'Welcome to the Church Mutual Assignment Tool',
        text: 'Plaintext version of the message',
        html: output
      }


      // Generate reset password and Send Email
 //===== HERE IS PROBLEM THIS generatePasswordResetLink() "is not a fucntion"====== \\
      admin.auth().generatePasswordResetLink(user.email, actionCodeSettings)
        .then(link => {
          // Send Email
          transport.sendMail(message, (err, info) => {
            if (err) throw new Error('Error with email', err)
          })
          return sendCustomPasswordResetEmail(user.email, user.displayName, link)
        })
        .catch(error => {
          console.log('error', error)
        })
    })
}

1 Ответ

0 голосов
/ 31 января 2019

Скорее всего, вы используете версию Node.js Admin SDK <Версия 6.2.0. </p>

См. Примечания к выпуску Firebase Admin Node.js SDK здесь: https://firebase.google.com/support/release-notes/admin/node.«API генерации ссылок для действий по электронной почте для создания ссылок для сброса пароля, проверки электронной почты и входа по электронной почте» были добавлены только в ноябре 2018 года, с версией 6.2.0.

...