Adjust database access and password check
authorPlatonides <platonides@gmail.com>
Tue, 18 Sep 2018 22:27:12 +0000 (00:27 +0200)
committerPlatonides <platonides@gmail.com>
Tue, 18 Sep 2018 23:23:50 +0000 (01:23 +0200)
AuthWMESbyDB.php

index 64c24e66160efa4d4e7ab827048a64b6eac5723b..df2ab9c09c0818ee74760c85d6cbd53af9e89d3b 100644 (file)
@@ -132,7 +132,7 @@ class AuthWMESbyDB extends \ls\pluginmanager\AuthPluginBase
         $sUserName = $this->getUserName();
         $sUserPass = $this->getPassword();
 
-        $aWpUser=$this->getWpDbUser($sUserName,$sUserPass);
+        $aWpUser=$this->getWmesDbUser($sUserName,$sUserPass);
         if(!$aWpUser){
             $this->setAuthFailure(self::ERROR_USERNAME_INVALID);
             return;
@@ -142,8 +142,8 @@ class AuthWMESbyDB extends \ls\pluginmanager\AuthPluginBase
         {
             $oUser=new User;
             $oUser->users_name=$aWpUser['user_login'];
-            $oUser->full_name=$aWpUser['display_name'];
-            $oUser->password=substr(md5(rand()),0,20);;
+            $oUser->full_name=$aWpUser['user_login'];
+            $oUser->password=createPassword();
             $oUser->parent_id=1;
             $oUser->lang='auto';
             $oUser->email=$aWpUser['user_email'];
@@ -185,28 +185,24 @@ class AuthWMESbyDB extends \ls\pluginmanager\AuthPluginBase
     }
 
     /**
-    * Validate user by username/password from WordPress
+    * Validate user by username/password from WMES
     * @param string $sUserName : the user name
     * @param string $sUserPass : the user pass
     * return array : User information
     **/
-    private function getWpDbUser($sUserName,$sUserPass)
+    private function getWmesDbUser($sUserName,$sUserPass)
     {
         if($this->addWpDb())
         {
             $aUser = Yii::app()->wmesdb->createCommand()
-                                    ->select('user_login,user_pass,user_nicename,user_email,display_name,ul.meta_value as user_level')
+                                    ->select('user_login,user_pass,user_email,user_level')
                                     ->from('{{users}}')
-                                    ->leftJoin('{{usermeta}} ul', 'ID = ul.user_id AND ul.meta_key="wp_user_level"')
                                     ->andWhere("user_login = :user_login")
                                     ->bindParam(':user_login',$sUserName)
                                     ->queryRow();
             if(!$aUser)
                 return;
-            //Yii::import('plugins.AuthWPbyAPI.third_party.phpass.PasswordHash');
-            require_once dirname(__FILE__).'/third_party/phpass/PasswordHash.php';// DIRECTORY_SEPARATOR not needed
-            $oHasher = new PasswordHash(8, TRUE);
-            $bCheck = $oHasher->CheckPassword($sUserPass, $aUser['user_pass']);
+            $bCheck = password_verify($sUserPass, $aUser['user_pass']);
             if($bCheck)
                 return $aUser;
             else