firebase - 如何在firebase admin sdk中检查当前密码是否有效?

标签 firebase firebase-authentication firebase-admin

我有一个 Firebase 驱动的应用程序。要求是到更新账号密码输入 currentPasswordnewPassword .

在服务器(firebase 云功能 + 管理 sdk)上,我需要检查是否提供了 currentPassword已验证。

首次创建帐户时, firebase 自动加密密码 ,并且只给我哈希值。

问题是 - 这种加密是自动完成的,在幕后 .

在没有访问加密方法的情况下,我无法获得currentPassword的哈希值为了将它与真实密码的存储散列进行比较..看看这两个散列是否匹配。

那么我如何检查 currentPassword已验证?如何访问 firebase-auth 用于加密的相同方法?

到目前为止我找不到任何相关的东西。我在这里使用了错误的方法吗?为什么这么难找?

最佳答案

我不太确定您是否可以使用云功能验证密码,重点是确保黑客即使以某种方式侵入服务器也无法恢复用户的密码,如果您可以通过知道来恢复密码哈希和盐,他们为什么不是黑客?但是,您可以在您的应用程序中执行此操作:

firebase.auth().currentUser.reauthenticateWithCredential(firebase.auth.EmailAuthProvider.credential(firebase.auth().currentUser.email, oldPassword);

另外,只是为想要更改密码的用户提供另一种方式,只需向他们发送重置密码的电子邮件,这样就非常安全,他们不必输入旧密码:
firebase.auth().sendPasswordResetEmail(firebase.auth().currentUser.email)

关于firebase - 如何在firebase admin sdk中检查当前密码是否有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48141549/

相关文章:

firebase - 使用 VueJs 在 Firebase 上重置密码

java - android - Firebase Google 身份验证用户未注销

python firebase实时监听器

firebase - 如何使用 Http 缓存控制保存 Firestore 请求?

java - Firebase onTokenRefresh 没有被及时调用的解决方案是什么 [Android]?

android - Firebase 数据库监听器不能在带有 wifi 的 android 上工作

java - Java 服务器和 Android 共享的 .jar 中的 Firestore 自定义对象

python - 从Google Cloud yalm python应用程序检索firebase数据库数据

android - 动态链接 - Firebase - 400 错误

android - 数据库引用 vs Firebase数据库