Migrated password hashes support

感谢 @pfaffman

我进行了一些测试,可以确认它在 Drupal 7 上无法工作,根据 Drupal 7: Secure password storage by default at last | Jon Cave 的信息,Drupal 7 似乎使用的是 SHA-512。

如果我能添加一个兼容的版本,我会创建一个 PR。

Rich

3 个赞

你好 :waving_hand:

我从 bbPress 迁移了大量内容到我的 Discourse 安装中。我可以看到所有的帖子、用户等信息。但是,我的用户无法使用来自我 WordPress 站点的“旧”密码数据登录。我安装了该插件,它已列在我的管理区域的插件部分。我勾选了所有可用的复选框。

尽管如此:仍然没有人能够登录!
另外,我也不知道该如何应用插件 readme 中提供的代码:

user = User.find_by(username: 'user')
user.custom_fields['import_pass'] = '5f4dcc3b5aa765d61d8327deb882cf99'
user.save

此外,我也不清楚 readme 中提到的“替代密码哈希”具体是什么意思。

@michaeld,你能提供更多关于如何使用该插件的指导吗?

据我所知,bbPress 导入器支持该插件,因此您已经完成了所有必要的步骤,无需再做其他操作。

1 个赞

天哪,经过更多测试后,发现它其实已经能正常工作了。问题出在我测试时密码被修改了 :man_facepalming: 抱歉!感谢这个超棒的插件!它让我的生活轻松多了!

2 个赞

你好,我在尝试实现这个功能时遇到了问题。我创建了一个自定义字段 import_pass 并安装了插件。再次在我的 SMF 数据库上运行导入脚本,但毫无成效,之后所有人都无法登录。在自定义字段中,我只能看到一个“-”,而不是某个哈希值。

正如其他用户之前指出的那样,我不确定该如何处理这段代码:

user = User.find_by(username: 'user')
user.custom_fields['import_pass'] = '5f4dcc3b5aa765d61d8327deb882cf99'
user.save

非常感谢您的指导。这段代码是应该放入 smf2.rb 导入脚本文件中,还是另有安排?

这样行不通。不过,在导入过程中无需安装插件,也无需手动创建自定义字段。SMF2 脚本应该已经处理好了。所以问题出在其他地方。

这段代码是作为脚本作者的示例存在的。它已经在 SMF2 脚本中了。

3 个赞

谢谢,太好了。您的意思是,如果我删除手动创建的自定义字段,仅保持插件处于激活状态,那么它应该能自动运行,并在需要时获取密码哈希值。

是否有日志可供我们查看,以了解插件为何未按预期工作?

该插件负责解释和使用导入器设置的自定义字段。如果自定义字段为空或不存在,那么问题不在于插件,而在于导入器。

2 个赞

插件应该在迁移之前还是之后安装?还是说这没有任何影响?

TL;DR:之后。

您应该在实际运行已迁移论坛的实例上安装该插件。

我们曾发现,如果将插件安装在实际运行迁移脚本的实例上,会导致问题,因此我们不建议在此处安装。

4 个赞

你好,

有人测试过 Auth0 的密码哈希吗?

我无法直接进行测试,因为他们的密码哈希导出功能是一项付费客户服务。我只是想确认一下,在我自己尝试之前,是否有人已经尝试过这种方式。

看起来他们的密码是使用 bcrypt 进行哈希处理的,盐轮数为 10。

谢谢。

2 个赞

你好,关于 Drupal 7 的支持,有没有什么变化?

糟糕,这是一个我错过的两年前的问题!

bcrypt 应该支持任意轮数,只要轮数以通常方式编码($2a$10$...

没有,这段代码三年多没有动过了。

1 个赞