【发布时间】:2017-03-18 13:22:27
【问题描述】:
我是一家公司的开发人员,该公司拥有使用 PHP 和 MySQL 构建的应用程序。我们有大约 300 个用户,他们的密码使用 bcrypt 散列并存储在 users 表中。我们正在寻求使用 Angular 和 Firebase 重建应用程序。
我的问题是,如何通过 Firebase 迁移这些用户并使用 Firebase Auth。迁移个人资料信息很容易,但我想确保用户在登录新应用程序时仍然可以使用相同的电子邮件/密码。
以下是我想到的一些方法。在我看来,所有这些都很糟糕。
A) 创建一个使用 bcrypt 的自定义身份验证系统,然后将哈希复制过来。这不是我想要的,因为我不想维护自定义身份验证解决方案。
B) 每次用户登录旧系统时,从登录字段中获取他们的密码,以明文形式存储,然后使用他们的电子邮件/密码在 Firebase 中手动创建每个用户。这将需要 100% 的用户在我们切换到新应用程序之前登录。这是不太可能的。这显然也是对隐私的侵犯。我敢肯定它违反了某种法律或标准。但它确实有效,而且是不得已的选择。
C) 每次用户登录旧系统时,将电子邮件/密码以明文形式发送到脚本,该脚本会自动创建具有相同用户/电子邮件的新 Firebase 用户。这将需要 100% 的用户在我们切换到新应用程序之前登录。这是不太可能的。它也比选项 B 更难构建。
这些选项看起来都不是很好。他们都有缺点。有更好的选择吗?如果不是,在 B 和 C 之间,哪个最合法/合乎道德?选项 B 很吸引我,因为它超级简单,但我不想违反任何法律或失去公司客户的信任。
【问题讨论】:
-
这里是关于如何从许多不同类型的哈希机制将用户导入到 firebase Auth 的指南。 firebase.google.com/docs/auth/admin/import-users
标签: authentication firebase firebase-authentication bcrypt