是的!我成功创建了一个脚本,可以遍历所有 Discourse 用户,并将他们及其密码哈希导入到我们的平台。
很快,我们就能让任何拥有 Discourse 论坛的人在“讨论”标签中添加活动、视频会议、媒体等功能,并使用 Discourse。您可以在 https://intercoin.app 上看到成果。
基本上,这会将任何 Discourse 安装变成一个类似 Facebook 的现代社交网络。我们为此功能投入了多年的努力,现在我们希望将其与 Discourse 和 WordPress 紧密集成。这样,人们就可以结合使用 WordPress、Discourse 和 Qbix,并自行托管他们的整个社区。
但我还有两个遗留问题。
- 在 Qbix 中,我们至少使用 sha1(password + userId) 在客户端对密码进行哈希处理,然后再将其发送到服务器。即使是 HTTPS。我们这样做是为了让服务器或任何中间人(MITM)永远无法获得密码,以便在多个站点上重复使用。但是,Discourse 只会将密码发送到服务器。因此,我们不得不关闭客户端的这种哈希处理。是否可以在客户端进行一些 hash_pbkdf2 迭代,其余部分在服务器端进行?我尝试过,但似乎不匹配:
php > $password = 'abc';
php > $salt = 'def';
php > $a = hash_pbkdf2('sha256', $password, $salt, 64000, 64, false);
php > $b = hash_pbkdf2('sha256', $password, $salt, 1, 64, false);
php > $c = hash_pbkdf2('sha256', $password, $b, 63999, 64, false);
php > echo $a;
9d7a21ae4113bea06d81e0c486f45ab778bb739f19f7a6a305d8401918a9d8a1
php > echo $c;
f42af6861ebcf8560b027276e0d02ad46502636045486057d81be7c4c4aa630e
- 是否可以直接使用 Discourse 作为 SSO 提供商,而不是使用我们的网站作为 SSO 提供商?这样,Discourse 论坛的托管者就更有可能用 Qbix 功能来扩展它,因为登录将保持完全相同,并且在 Discourse 端。Facebook、Google 以及其他任何服务。是否有关于 Discourse Connect 作为 SSO 提供商向我们的消费者网站返回哪些信息的文档?它是否至少包含我们可以下载的照片、名字、姓氏和用户名等信息?
