将用户从 Firebase 迁移到 ASP.NET

Posted

技术标签:

【中文标题】将用户从 Firebase 迁移到 ASP.NET【英文标题】:Migrate user from Firebase to ASP.NET 【发布时间】:2021-11-25 20:40:11 【问题描述】:

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

阅读本文: https://firebase.google.com/docs/cli/auth

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

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

【问题讨论】:

这能回答你的问题吗? .NET implementation of scrypt 有一个NuGet package你可以试试。 Firebase 显然使用了 SCRYPT 的自定义实现。所以它不会起作用。 【参考方案1】:

您首先询问的是“用户”,然后您继续谈论在 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% 不同平台上的软件称为编写软件,您必须这样做。这里没有捷径,也没有自动化工具,但您对构建该软件的新系统有很好的了解。在大多数情况下,还需要在其他平台上具备良好的技能组合,或者至少在您的团队中拥有具备该技能组合的人。

【讨论】:

我认为你没有抓住重点。问题是:如何在 .NET 应用程序中调用相同的 firebase scrypt 哈希算法? 我不确定你能做到。如果这样做很容易,那么我怀疑这种安全性根本就不是什么安全性,不是吗?这将取决于您使用的安全提供程序。我的意思是,您可能想使用 facebook 登录?所以安全提供者是一个很大的复杂话题。除非您可以在新站点中采用相同的安全提供程序系统,否则尝试复制某人的安全系统我认为根本不可行。

以上是关于将用户从 Firebase 迁移到 ASP.NET的主要内容,如果未能解决你的问题,请参考以下文章

从 DotNetNuke 迁移到 ASP.NET Core

从 ASP.NET MVC 迁移到 ASP.NET Core MVC

使用前端 ASP.net 从 Access db 迁移到 SQL Server 2008

如何将数据库从 SQL 服务器迁移到 SQL Azure,其中包含带有数据的 asp.net 成员资格提供程序

通过 FireBase 触发从 ASP.Net Api 到 Xamarin.Android 应用程序的推送通知

从 ASP.NET WebForms 迁移到 ASP.NET MVC 的建议?