我们有一个 Wordpress 站点,我们将使用 cakePHP 框架逐步重建它。我们将逐步替换 Wordpress 站点的不同部分,因此我们需要实现某种单点登录,以便在两个框架并行运行期间允许跨两个框架进行授权。
我们有一个很好的策略来做到这一点。简而言之,我们将在两个不同的表中复制所有用户行:一个用于 Wordpress ( wp_users
) 的表和另一个用于 Cake ( users
) 的表。[此处概述的更多详细信息(如果您有兴趣)。]
这意味着当我们在 Wordpress 或 Cake 中创建用户时,我们也会在另一个表中创建相同的用户。这是“几乎无害的”......
我们正在为 Wordpress 和 Cake 之间不同的密码散列策略而苦苦挣扎。为了在两个表中保存相同的用户密码,我们需要弄清楚如何对其进行哈希处理,以便每个各自的框架都可以检查它。
Wordpress 使用了一种非常先进的散列算法:PHPass。Cake(默认情况下)似乎提供了更传统的算法选择:SHA1、md5、blowfish... 可选加盐。我们坚持 Wordpress 生成/通过电子邮件向新用户发送默认密码,然后立即保存数据库中的散列版本。这个密码的散列版本对 cake 来说毫无用处,除非我们能弄清楚如何复制所有的 Wordpress 授权协议(这对于新的 Cake 用户来说似乎有些令人生畏)。
这个问题有优雅的解决方案吗?