/** * Load user details based on configured authentication fields * * @param string $username * @return array|null */ public function getUserDetails($username) { $user = null; $fields = $this->authOptions->getAuthIdentityFields(); while (!is_object($user) && count($fields) > 0) { $mode = array_shift($fields); switch ($mode) { case 'username': $user = $this->mapper->findByUsername($username); break; case 'email': $user = $this->mapper->findByEmail($username); break; } } if (!$user instanceof UserInterface) { return NULL; } return array('user_id' => $user->getId(), 'username' => $user->getUsername(), 'email' => $user->getEmail(), 'display_name' => $user->getDisplayName(), 'state' => $user->getState()); }