/**
* Set user data using shibboleth heders as data source
*
* @param \FOS\UserBundle\Entity\User $user
* @param \KULeuven\ShibbolethBundle\Security\ShibbolethUserToken $token
*/
private function setUserData(BaseUser $user, ShibbolethUserToken $token)
{
if ($user instanceof User) {
$user->setGivenName($token->getGivenName());
$user->setSurname($token->getSurname());
}
$user->setPlainPassword('no_passwd');
if (null != $token->getMail()) {
$user->setEmail($token->getMail());
} else {
$user->setEmail($token->getUsername() . '@kuleuven.be');
}
if ($token->isStudent()) {
$user->addRole('ROLE_STUDENT');
} elseif ($token->isStaff()) {
$user->addRole('ROLE_STAFF');
} else {
$user->addRole('ROLE_GUEST');
}
$user->addRole('ROLE_USER');
$user->setEnabled(true);
$this->userManager->updateUser($user);
}