Exemplo n.º 1
0
 /**
  * creates user profile based on got values
  * @param \Symfony\Component\Security\Core\User\UserInterface $user
  * @param array $profile
  */
 protected function createProfile(UserInterface $user, array $profile)
 {
     $user->setEnabled(true);
     $user->setPassword('');
     $username = strtolower(trim($profile['preferredUsername'], '_'));
     $user->setUsername($username);
     $user->setSocialIdentifier($profile['identifier']);
     if (method_exists($user, 'setEmail') && @$profile['email']) {
         $user->setEmail($profile['email']);
     }
     // use givenName and familyName if provided
     $name = @$profile['name'];
     if (is_array($name)) {
         if (method_exists($user, 'setFirstName') && array_key_exists('givenName', $name) && $name['givenName']) {
             $user->setFirstName($name['givenName']);
         }
         if (method_exists($user, 'setLastName') && array_key_exists('familyName', $name) && $name['familyName']) {
             $user->setLastName($name['familyName']);
         }
     }
     // fill first name as displayName
     if (method_exists($user, 'setFirstName') && !$user->getFirstName()) {
         $user->setFirstName($profile['displayName']);
     }
 }