2017-09-27 8 views
0

私のユーザーは、別のシステムから私のWordPressのWebサイトにアクセスします。このシステムは私のWordpressに$ _SESSIONを送ります。Wordpressのパスワードハッシュを無効にする

私はログインを自動的に行う方法を持っています。しかし、問題は、私は自分のDBからハッシュされたパスワードを取ることができるということです。私はパスワードのハッシュを無効にする必要があり、私の機能は動作します。

function wpdocs_custom_login() { 

     if(isset($_SESSION['usr_email'])){ 
      $user = get_user_by('login', $_SESSION['usr_login']); 

      $creds = array(
       'user_login' => $user->user_login, 
       'user_password' => $user->user_pass, 
       'remember'  => true 
      ); 

      $user = wp_signon($creds, false); 

      if (is_wp_error($user)) { 
       echo $user->get_error_message(); 
      } 
     } 

} 

// Run before the headers and cookies are sent. 
add_action('after_setup_theme', 'wpdocs_custom_login'); 
?> 

私に助けてもらえますか?

答えて

0

これは、サードパーティの一部のシステムにログインしているためにログインする必要がある場合に、認証する方法です。

$user = get_user_by('login', $_SESSION['usr_login']); 
if($user) 
{ 
    clean_user_cache($user->ID); 
    wp_set_current_user($user->ID); 
    if (wp_validate_auth_cookie() == FALSE) 
    { 
     wp_clear_auth_cookie(); 
     wp_set_auth_cookie($user->ID, true); 
    } 
} 

この方法で、セキュリティを損なうことなくログインできます。
関連ドキュメント:
clean_user_cache
wp_set_current_user
wp_validate_auth_cookie
wp_clear_auth_cookie
wp_set_auth_cookie

関連する問題