我知道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()
函數,所以它可能不是直接可用的(但?)。除了將其重新放回客戶端代碼之外,還有其他方式可以觸發這一點嗎?