Вы можете заменить токен.
$roles = array_merge($user->getRoles(), ['ROLE_EXTRA']);
$token = new UsernamePasswordToken($user, null, 'main', roles);
$this->tokenStorage->setToken($token);
Однако этот вариант использования очень нерегулярен, поэтому вы можете подумать над ним.
Кроме того, взгляните на security.yml
security:
always_authenticate_before_granting: true
Это может переопределить ваши роли путем повторной аутентификации.(Я точно не знаю.) При необходимости установите значение false.