示例#1
0
 /**
  * Tests the authenticate method with a correct password and new password hash.
  *
  * @covers ::authenticate
  */
 public function testAuthenticateWithCorrectPasswordAndNewPasswordHash()
 {
     $this->testUser->expects($this->once())->method('id')->will($this->returnValue(1));
     $this->testUser->expects($this->once())->method('setPassword')->with($this->password);
     $this->testUser->expects($this->once())->method('save');
     $this->userStorage->expects($this->once())->method('loadByProperties')->with(array('name' => $this->username))->will($this->returnValue(array($this->testUser)));
     $this->passwordService->expects($this->once())->method('check')->with($this->password, $this->testUser->getPassword())->will($this->returnValue(TRUE));
     $this->passwordService->expects($this->once())->method('needsRehash')->with($this->testUser->getPassword())->will($this->returnValue(TRUE));
     $this->assertsame(1, $this->userAuth->authenticate($this->username, $this->password));
 }
示例#2
0
 /**
  * Sets new hash password in smf
  *
  * @param \Drupal\User\Entity\User $drupalUser
  * @param \stdClass $smfMember
  */
 protected function syncSmfPassword(\Drupal\User\Entity\User $drupalUser, \stdClass $smfMember)
 {
     /**
      * @var \Drupal\Core\Database\Connection $this ->smfConnection
      */
     $hashedPasswd = sha1($drupalUser->getPassword());
     $id_member = $this->smfConnection->select('members', 'm')->fields('m', ['id_member'])->condition('m.member_name', $drupalUser->getUsername())->condition('m.passwd', $hashedPasswd)->execute()->fetchField();
     if (!$id_member) {
         $updateResult = $this->smfConnection->update('members')->fields(['passwd' => $hashedPasswd, 'password_salt' => ''])->condition('member_name', $drupalUser->getUsername())->execute();
         if ($updateResult) {
             $smfMember->passwd = $hashedPasswd;
         }
     }
 }