/** * 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)); }
/** * 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; } } }