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()
関数への明白な参照を見ることができませんでした。したがって、おそらく直接利用できません(まだですか?)。これを引き起こす他の方法はありますか?クライアントコードに戻すだけではありませんか?