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