在使用firebase admin SDK创建用户后,如何发送验证电子邮件?我想要结合起来createUser function
,sendEmailVerification function
有人可以指出一个暗示或答案吗?谢谢
用户创建由已在应用程序中登录的管理员用户完成,因此管理员用户只是在仪表板上创建用户.这与注册方法完全不同.
我试图按照bojeil的回答,我仍然坚持用户使用自定义令牌登录的步骤.它与我当前的管理员用户会话发生冲突,管理员用户被踢出,而新用户已登录,即使我退出新用户,管理员用户仍然不在,需要登录才能重新登录该应用程序.
获取自定义令牌后,这是我在应用程序中的代码:
$http.post('/.custom-token', {uid: $scope.data.data.uid}) .then(function (response) { console.log("custom token here:", response.data.token); firebase.auth().signInWithCustomToken(response.data.token) .then(function (firebaseUser) { firebaseUser.sendEmailVerification(); firebase.auth().signOut().then(function() { // Sign-out successful. console.log("signed out success"); }, function(error) { // An error happened. }); }) .catch(function(error) { // Handle Errors here. var errorCode = error.code; var errorMessage = error.message; // ... }); });
所以,我获得令牌,登录新用户,发送电子邮件验证链接,然后注销新用户.但我正在执行此操作的管理员用户也会退出.我在这里想念的是什么?
好的,这是你可以做的,但你可能会达到配额限制:
包括firebase-admin模块.
包括firebase客户端模块.
使用admin sdk,通过createUser创建新用户
当该承诺解决时,获取创建的用户的uid.
使用admin sdk,为该uid创建自定义标记.
使用客户端sdk,使用该自定义令牌signInWithCustom令牌.
在此过程中返回一个用户,调用user.sendEmailVerification()
signOut来自客户端SDK的用户.