挂钩到WordPress中的所有密码重置,并在哈希之前获得密码?

时间:2018-10-17 作者:Slbox

我正在将Wordpress身份验证系统与辅助/外部身份验证系统同步,我的网站至少有两种重置密码的方法,包括:

密码重置电子邮件用户帐户屏幕密码重置可能还有第三种方法我没有回忆,因为我无法同步系统,所以目前不允许密码重置。

The crux of my question: 如何在散列之前连接到密码重置,以便在辅助/外部身份验证系统上同时设置新密码?

<小时>

Non-essential additional info:

<用户在使用密码重置电子邮件时重置密码,而不是自动生成的用户帐户屏幕不是Wordpress仪表板,而是插件实现,这两个系统使用不同的哈希机制,因此哈希后钩子没有帮助。我知道,这很不方便,但这就是我所拥有的。

我可以在每个表单/方法的基础上找到实现它的方法,但随着平台的增长,要维护这一点真的很痛苦。

1 个回复
SO网友:Nathan Johnson

使用password_reset

function wpse_password_reset( $user, $new_pass ) {
  //* Do something useful with $new_pass
}
add_action( \'password_reset\', \'wpse_password_reset\', 10, 2 );
编辑以在注释后添加:

看起来我不能使用的原因是插件使用wp\\u update\\u user来设置新密码。在此之前,我是否可以拦截密码?

对您可以使用send_password_change_email 滤器

function wpse_send_password_change_email( $true, $user, $userdata ) {
  //* Do something useful with the new password
  wp_die(
    sprintf(
      \'%1$s changed their password to %2$s.\',
      $userdata[ \'user_login\' ],
      $_POST[ \'pass1\' ]
    )
  );

  //* Need to return $true since it\'s a filter
  return $true;
}
add_filter( \'send_password_change_email\', \'wpse_send_password_change_email\', 10, 3 );

结束

相关推荐

如何测试unctions.php中的类(来自插件)

我为函数添加了各种代码更改。php。其中许多依赖于某些活动插件,因为它们引用这些插件定义的类。如果插件被禁用,将导致500服务器错误,因为找不到相应的类。有没有办法先考一门课?例如,以下函数依赖于WooCommerce扩展中的类。// Add prices to variations add_filter( \'woocommerce_variation_option_name\', \'display_price_in_variation_option_name\' ); func