如何构建自定义Firebase注册确认/验证/电子邮件重置

时间:2016-12-14 00:53:20

标签: angularjs firebase ionic-framework firebase-authentication sparkpost

这让我完全疯狂。 我无法使用firebase电子邮件系统通知用户帐户验证电子邮件,电子邮件重置或电子邮件更改,因为我无法更改语言或模板。所以我开始使用Sparkpost。 我已经构建了它的大部分功能,但我发现我无法获得此操作的确认代码。

有没有办法在不使用电子邮件系统的情况下使用这些功能?我可以以任何方式获得"代码"需要执行:

[confirmPasswordReset(code, newPassword)][3]
[checkActionCode(code)][2]
[applyActionCode(code)][1]

如果我能以任何方式获得此代码,我可以使用火花邮件系统和角度页面的混合来验证用户或更改我的离子应用程序上的密码。或者我可以创建一个节点端点来执行此操作。

我真的需要一些帮助。

1 个答案:

答案 0 :(得分:1)

您无法通过公共API获取验证码。

可以直接验证服务器端代码中的用户帐户(不调用checkActionCode / applyActionCode),方法是使用Firebase Admin SDK for Node.js. / p>

来自documentation on updating a user

  

updateUser()方法允许您修改现有用户的数据。它接受用户更新的uid以及包含要更新的UserRecord属性的对象:

admin.auth().updateUser(uid, {
  email: "modifiedUser@example.com",
  emailVerified: true,
  password: "newPassword",
  displayName: "Jane Doe",
  photoURL: "http://www.example.com/12345678/photo.png",
  disabled: true
})
  .then(function(userRecord) {
    console.log("Successfully updated user", userRecord.toJSON());
  })
  .catch(function(error) {
    console.log("Error updating user:", error);
  });

通过这种方式,您可以构建自己的验证机制,然后在完成后立即更新用户的状态。