public function activate($user)
{
if (is_string($user) || is_array($user)) {
$users = $this->getUserRepository();
$method = 'findBy' . (is_string($user) ? 'Id' : 'Credentials');
$user = $users->{$method}($user);
}
if (!$user instanceof UserInterface) {
throw new InvalidArgumentException('No valid user was provided.');
}
$this->fireEvent('sentinel.activating', $user);
$activations = $this->getActivationRepository();
$activation = $activations->create($user);
$this->fireEvent('sentinel.activated', [$user, $activation]);
return $activations->complete($user, $activation->getCode());
}