use of org.summerb.users.api.dto.User in project summerb by skarpushin.
the class PersistentTokenRepositoryDefaultImpl method removeUserTokens.
@Override
public void removeUserTokens(String username) {
try {
User user = userService.getUserByEmail(username);
List<AuthToken> authTokens = authTokenService.findUserAuthTokens(user.getUuid());
for (AuthToken authToken : authTokens) {
authTokenService.deleteAuthToken(authToken.getUuid());
}
} catch (Throwable e) {
throw new RuntimeException("Failed to delete user auth tokens", e);
}
}
use of org.summerb.users.api.dto.User in project summerb by skarpushin.
the class PersistentTokenRepositoryDefaultImpl method getTokenForSeries.
@Override
public PersistentRememberMeToken getTokenForSeries(String seriesId) {
try {
AuthToken authToken = authTokenService.getAuthTokenByUuid(seriesId);
User user = userService.getUserByUuid(authToken.getUserUuid());
return new PersistentRememberMeToken(user.getEmail(), authToken.getUuid(), authToken.getTokenValue(), new Date(authToken.getLastVerifiedAt()));
} catch (Throwable e) {
log.info("Persistent auth token wasn't found for seriesId " + seriesId);
return null;
}
}
use of org.summerb.users.api.dto.User in project summerb by skarpushin.
the class UserDetailsServiceDefaultImpl method loadUserByUsername.
@Override
public UserDetails loadUserByUsername(String userEmail) throws UsernameNotFoundException {
try {
User user = userService.getUserByEmail(userEmail);
List<String> permissions = permissionService.findUserPermissionsForSubject(SecurityConstants.DOMAIN, user.getUuid(), null);
AuthToken authToken = null;
UserDetailsImpl ret = new UserDetailsImpl(user, null, permissions, authToken);
return ret;
} catch (UserNotFoundException e) {
throw new UsernameNotFoundException("User not found", e);
} catch (FieldValidationException e) {
throw new UsernameNotFoundException("Email provided in invalid format", e);
} catch (Throwable t) {
throw new UsernameNotFoundException("Failed to get user by email", t);
}
}
use of org.summerb.users.api.dto.User in project summerb by skarpushin.
the class LoginController method processRegisterForm.
@RequestMapping(method = RequestMethod.POST, value = SecurityActionsUrlsProviderDefaultImpl.REGISTER)
public String processRegisterForm(@ModelAttribute(ATTR_REGISTRATION) Registration registration, Model model, HttpServletRequest request) {
if (!isAutoTestMode) {
CaptchaController.assertCaptchaTokenValid("register", registration.getCaptcha(), request);
}
try {
// Create user
User user = usersServiceFacade.registerUser(registration);
model.addAttribute(ATTR_REGISTERED, true);
if (isDevMode) {
String activationAbsoluteLink = absoluteUrlBuilder.buildExternalUrl(securityActionsUrlsProvider.buildRegistrationActivationPath(user, null));
model.addAttribute(UserAccountChangeHadlersDefaultImpl.ATTR_ACTIVATION_LINK, activationAbsoluteLink);
}
} catch (FieldValidationException fve) {
model.addAttribute(ControllerBase.ATTR_VALIDATION_ERRORS, new ValidationErrorsVm(fve.getErrors()));
}
return views.registerForm();
}
use of org.summerb.users.api.dto.User in project summerb by skarpushin.
the class UsersServiceFacadeImpl method activateRegistration.
@Transactional(rollbackFor = Throwable.class)
@Override
public void activateRegistration(String userUuid) throws GenericException {
try {
// Validate
if (!StringUtils.hasText(userUuid)) {
throw new GenericException(SecurityMessageCodes.NEED_ACTIVATION_TOKEN);
}
// Search user
User user = userService.getUserByUuid(userUuid);
boolean awaitingActivation = isAccountRequiresActivation(userUuid);
if (awaitingActivation) {
activateAccount(user.getUuid());
} else {
throw new GenericException(SecurityMessageCodes.ALREADY_ACTIVATED);
}
if (registrationActivatedHandler != null) {
registrationActivatedHandler.onRegistrationActivated(user);
}
} catch (Throwable e) {
log.error("Failed to activate registration", e);
throw new GenericException(SecurityMessageCodes.FAILED_TO_ACTIVATE_REGISTRATION, e);
}
}
Aggregations