首页 > 解决方案 > 将用户从 Firebase 迁移到 ASP.NET

问题描述

简单的问题。我想从 Firebase 迁移到用 C# 编写的 ASP.NET 应用程序。我得到了密码哈希配置,并导出了所有 firebase 用户数据。密码是散列的,所以我需要在我的 ASP.NET 应用程序中使用相同的散列算法。Firebase 项目使用了 SCRYPT 的 firebase 自定义实现(显然)。如何在 .NET 应用程序中调用相同的哈希算法?

通过阅读: https ://firebase.google.com/docs/cli/auth

我可以理解他们使用这个: https ://github.com/firebase/scrypt

但我不确定如何在 .NET 上下文中使用它。

标签: c#asp.netfirebasescrypt

解决方案


您首先询问“用户”,然后您继续谈论在具有不同数据库的 100% 不同系统中重新编写应用程序?

好吧,然后你开始一个新项目。您必须选择/选择/考虑要使用的登录系统类型。

然后你必须得到那壶咖啡,然后在 asp.net 中重新构建和重新编写系统。我的意思是,如果我在 FoxPro 中编写一个项目,然后决定使用 asp.net,那么您必须以 100% 不同的架构重新构建系统。如果您想知道,它被称为编写软件。

如果你有一些用 C++ 编写的项目,现在你想在 Android 上运行它?然后你必须从头开始重新构建应用程序,并在一个全新的系统中重新编写。

如果您编写了一个 Android 程序,现在希望它在 Apple mac 计算机上运行,​​那么您必须获取 Apple 开发工具并重新编写该应用程序。

那么,移动用户?好吧,这将是一个简单的问题,即获取他们的登录信息并将其输入新的数据库系统(取决于您使用的登录类型和身份验证系统)。您将为新系统使用哪种安全和登录系统?也许他们的 Facebook 登录?你必须决定这个问题。

但是,无论是桌面、网络还是手机?您必须重新编写和重新构建软件。

如果你用c++写了一些软件,现在想用vb.net重写,那么又是重写。这就是所有软件已经运行了 50 多年的方式,您所尝试的在这里也没有什么不同。在不同的平台上编写软件就是在不同的平台上编写软件。

假设你在这方面有很好的技能。我的意思是,对于任何项目,我们都有这个定义的技能集:

因此,第一个考虑因素是开发人员处于什么级别。肯定有更多级别,然后只是“受过训练”或“未受过训练”。通常有“很多”技能等级,但以下细分就足够了。**

Stage 1 Innocent (never heard of the product)

Stage 2 Aware (Has read an article about X)

Stage 3 Apprentice (has attended a three-day seminar)

Stage 4 Practitioner (ready to use X on a real project)

Stage 5 Journeyman (uses X naturally and automatically in his job) 

Stage 6 Master (has internalized X, knows when to break the rules) 

Stage 7 Expert (writes books, gives lectures, looks for ways to extend x)

(来自:Page-Jones, Meil​​ir。“软件工程专业知识的七个阶段”,美国程序员,1990 年 7 月至 8 月)

任何人都不应该尝试与由第 3 阶段或更低级别人员组成的团队进行项目。这是失败的可靠公式。团队可以由第 4 阶段组成,但他们应该至少可以进入第 5 阶段或第 6 阶段。

因此,假设您在 asp.net 中有很好的技能?(好几个月,也许是好一年的经验),那么我在这里看不到问题。但是,因此,构建在 100% 不同平台上的软件称为编写软件,您必须这样做。这里没有捷径,也没有自动化工具,但您对构建该软件的新系统有很好的了解。在大多数情况下,还需要在其他平台上具备良好的技能组合,或者至少在您的团队中拥有具有该技能组合的人。


推荐阅读