Chris@0: entityManager = $entity_manager; Chris@0: $this->passwordChecker = $password_checker; Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public function authenticate($username, $password) { Chris@0: $uid = FALSE; Chris@0: Chris@0: if (!empty($username) && strlen($password) > 0) { Chris@0: $account_search = $this->entityManager->getStorage('user')->loadByProperties(['name' => $username]); Chris@0: Chris@0: if ($account = reset($account_search)) { Chris@0: if ($this->passwordChecker->check($password, $account->getPassword())) { Chris@0: // Successful authentication. Chris@0: $uid = $account->id(); Chris@0: Chris@0: // Update user to new password scheme if needed. Chris@0: if ($this->passwordChecker->needsRehash($account->getPassword())) { Chris@0: $account->setPassword($password); Chris@0: $account->save(); Chris@0: } Chris@0: } Chris@0: } Chris@0: } Chris@0: Chris@0: return $uid; Chris@0: } Chris@0: Chris@0: }