programing

워드프레스 비밀번호 재설정 후크

telecom 2023. 7. 9. 09:48
반응형

워드프레스 비밀번호 재설정 후크

저는 코셔로 간주될 수도 있고 아닐 수도 있는 워드프레스 비밀번호로 뭔가를 하려고 합니다.

상황:
기본적으로 비밀번호를 요구하는 두 가지 서비스가 있습니다.이러한 서비스 중 하나는 간단한 워드프레스 계정이고 다른 하나는 워드프레스와 관련이 없는 다른 앱입니다.저는 두 개의 사용자 이름과 암호를 동기화하고 싶습니다. 즉, 단어가 사용자 이름을 누를 때마다 앱의 사용자 이름이 바뀌고 단어가 암호를 누를 때마다 앱의 암호가 변경됩니다.

문제/질문:
제가 사용자 이름을 처리할 수 있는 방법은 여러 가지가 있지만, 비밀번호가 까다로운 것입니다.저는 워드프레스 비밀번호 재설정 인터페이스의 후크를 이용하여 새로운 비밀번호가 설정될 때마다 그것을 일반 텍스트 형태(해시되기 전)로 잡아 이 비워드프레스 앱에 대한 비밀번호를 별도로 해시/저장하는 데 사용하는 API로 전송하려고 합니다.이것을 달성할 수 있는 방법이 있습니까?

해결책에 대한 어떤 시도도 매우 감사합니다.

네, 이것을 위한 후크가 있습니다./wp-login.php(암호 재설정) 및/wp-admin/includes/user.php(사용자 페이지의 암호 변경).

# When reseting password in wp-login
add_action( 'password_reset', function( $user, $pass ) 
{
    var_dump( $pass );
    die();
}, 10, 2 );

그리고.

# When checking if passwords match
add_action( 'check_passwords', function( $user, $pass1, $pass2 ) 
{
    var_dump( $pass1 );
    die();
}, 10, 3 );

validate_password_reset을 후크하여 암호를 확인할 수 있습니다.다음 코드를 사용하여 영숫자 암호를 확인할 수 있습니다.

add_action('validate_password_reset','wdm_validate_password_reset',10,2);

function wdm_validate_password_reset( $errors, $user)
{
    $exp = '/^(?=.*\d)((?=.*[a-z])|(?=.*[A-Z])).{6,32}$/';

    if(strlen($_POST['pass1'])<6 || !preg_match($exp, $_POST['pass1']) )
           $errors->add( 'error',  'Password must be alphanumeric and contain minimum 6 characters.','');
}

언급URL : https://stackoverflow.com/questions/19168090/wordpress-password-reset-hook

반응형