Exemple #1
0
 /**
  * Create user
  *
  * @access public
  * @param  UserProviderInterface  $user
  * @param  array                  $properties
  * @return array
  */
 private function createUser(UserProviderInterface $user, array $properties)
 {
     $userId = $this->user->create($properties);
     if ($userId === false) {
         $this->logger->error('Unable to create user profile: ' . $user->getExternalId());
         return array();
     }
     return $this->user->getById($userId);
 }
Exemple #2
0
 /**
  * Synchronize user properties with the local database and create the user session
  *
  * @access public
  * @param  UserProviderInterface $user
  * @return boolean
  */
 public function initialize(UserProviderInterface $user)
 {
     if ($user->getInternalId()) {
         $profile = $this->user->getById($user->getInternalId());
     } elseif ($user->getExternalIdColumn() && $user->getExternalId()) {
         $profile = $this->userSync->synchronize($user);
         $this->groupSync->synchronize($profile['id'], $user->getExternalGroupIds());
     }
     if (!empty($profile) && $profile['is_active'] == 1) {
         $this->userSession->initialize($profile);
         return true;
     }
     return false;
 }
Exemple #3
0
 /**
  * Synchronize user properties with the local database and create the user session
  *
  * @access public
  * @param  UserProviderInterface $user
  * @return boolean
  */
 public function initialize(UserProviderInterface $user)
 {
     if ($user->getInternalId()) {
         $profile = $this->user->getById($user->getInternalId());
     } elseif ($user->getExternalIdColumn() && $user->getExternalId()) {
         $profile = $this->userSync->synchronize($user);
         $this->groupSync->synchronize($profile['id'], $user->getExternalGroupIds());
     }
     if (!empty($profile) && $profile['is_active'] == 1) {
         $this->userSession->initialize($profile);
         $this->dispatcher->dispatch(self::EVENT_USER_PROFILE_AFTER_SYNC, new UserProfileSyncEvent($profile, $user));
         return true;
     }
     return false;
 }