首页 > 解决方案 > 在 asp.net 核心身份中,无需重置密码即可将用户凭据传输到不同的数据库?

问题描述

我正在使用 asp.net core 2.1 和内置的身份引擎为我选择的数据库设置一个新的数据库(postgresql)并从 MongoDB 转移。当我在两个数据库之间进行切换时,我想知道是否有一种方法可以简单地将我的 AspNetUsers 和相关表复制到我的 postgresql 数据库中,而不需要我的用户重置/重新哈希他们的密码?

我在两个系统之间进行了一些测试,使用相同密码的同一用户似乎没有相同的密码哈希,即使他们都使用 asp.net core 2.1。要求用户重新设置密码并不是什么大问题,但我真的希望它是一个无缝的过程。

我已经进行了很多搜索,但到目前为止我想出的主要是如何从旧的会员资格和 asp.net 系统转移到新的身份。任何帮助/建议将不胜感激。

谢谢!

标签: postgresqlasp.net-coreidentityserver4

解决方案


将令牌从一台服务器移动到另一台服务器确实有效。起初它并不直观,但当我在新服务器上创建新用户时它们是不同的令牌,所以我认为它们不起作用,但我猜只有部分令牌是密码。因此,即使它是从另一台服务器生成的令牌,并且与您在新服务器上创建相同的凭据不同,但如果有意义的话,旧令牌仍然有效。


推荐阅读