dsl*_*101 3 firebase firebase-authentication google-cloud-functions
我知道Firebase的云功能仍然很新,但我正在尝试将一些客户端代码移到云端,而"注册"过程似乎是一个明显的目标.
目前,注册页面要求提供电子邮件地址,生成随机密码和呼叫createUserWithEmailAndPassword().这很好用,然后我想将"重置密码"电子邮件发送到刚才使用的电子邮件地址,以确认电子邮件地址,并让用户有机会设置他们选择的特定密码.我能够在客户端代码中执行此操作,但我想尝试创建由...触发的函数onCreate().
这一点工作正常,但我无法弄清楚如何sendPasswordResetEmail()从firebase函数环境中调用.
这是到目前为止的代码:
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)
})
Run Code Online (Sandbox Code Playgroud)
功能日志说:
TypeError: admin.auth(...).sendPasswordResetEmail is not a function
Run Code Online (Sandbox Code Playgroud)
我假设该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)
Run Code Online (Sandbox Code Playgroud)
我简要地搜索了firebase函数源代码,我看不到任何明显的sendPasswordResetEmail()函数引用,所以也许它不是直接可用的(还是?).有没有其他方法来触发这个 - 除了把它放回客户端代码?
好吧,我想我终于找到了我的具体问题的答案 - 通过auth()调用返回的2个对象是不一样的,如下所示:
sendPasswordResetEmail()我希望随着时间的推移,这两个API会稍微收敛,但是现在看来你无法从云功能启动密码重置.
| 归档时间: |
|
| 查看次数: |
1389 次 |
| 最近记录: |