我知道Firebase的云端功能还很新,但我试图将一些客户端代码移入云端,并且“注册”过程看起来像是一个明显的目标。在Firebase的云端函数中调用sendPasswordResetEmail()
当前,注册页面要求输入电子邮件地址,生成随机密码并致电createUserWithEmailAndPassword()
。这可以正常工作,然后我希望将“重置密码”电子邮件发送到刚刚使用的电子邮件地址,以确认电子邮件地址,并为用户提供设置其选择的特定密码的机会。我可以在客户端代码中做到这一点,但我想尝试创建由onCreate()
触发的功能。
这一点工作正常,但我不知道如何从firebase函数环境中调用sendPasswordResetEmail()
。
这是迄今为止代码:
var functions = require('firebase-functions')
const admin = require('firebase-admin')
admin.initializeApp(functions.config().firebase)
exports.createUserRec = functions.auth.user().onCreate(event => {
admin.auth().sendPasswordResetEmail(event.data.email)
})
功能日志说:
TypeError: admin.auth(...).sendPasswordResetEmail is not a function
我假设auth()
对象不是在客户端发现了同样的auth()
对象SDK,这将工作:
import * as firebase from 'firebase/app'
import 'firebase/database'
import 'firebase/auth'
var fbConfig = {
// All the required bits
}
firebase.initializeApp(fbConfig)
.
.
.
firebase.auth().sendPasswordResetEmail(emailAddress)
I b匆匆搜索了firebase函数源代码,我看不到任何明显提及的sendPasswordResetEmail()
函数,所以它可能不是直接可用的(但?)。除了将其重新放回客户端代码之外,还有其他方式可以触发这一点吗?