@Override @Transactional(timeout = 60) public VerificationToken registrateNewToken(VerificationToken verificationToken) { if (verificationToken.getType() == VerificationTokenPK.Type.PASSWORD_RESET && !userService.findByEmail(verificationToken.getEmail()).isPresent()) { throw new NotFoundException( String.format("The user with email %s was not found.", verificationToken.getEmail())); } generateToken(verificationToken); verificationTokenDao.save(verificationToken); emailService.sentVerificationToken( verificationToken.getEmail(), verificationToken.getType(), verificationToken.getToken()); return verificationToken; }
@Override public void generateToken(VerificationToken verificationToken) { verificationToken.setExpiredTime( LocalDateTime.now().plusSeconds(VerificationToken.EXPIRED_PERIOD)); String unhashedToken = verificationToken.getEmail() + verificationToken.getType() + LocalDateTime.now(); String token = VerificationTokenUtil.getHash(unhashedToken, VerificationTokenUtil.SHA_256); verificationToken.setToken(token); }
@Override @Transactional(timeout = 60) public VerificationToken resentToken(VerificationToken verificationToken) { generateToken(verificationToken); if (verificationToken.getType() == VerificationTokenPK.Type.PASSWORD_RESET && verificationToken.isVerified()) { verificationToken.setVerified(false); } VerificationToken updated = verificationTokenDao.update(verificationToken); emailService.sentVerificationToken( updated.getEmail(), verificationToken.getType(), updated.getToken()); return verificationToken; }
@Override public void sendEmailRegistrationToken(VerificationToken verificationToken) { emailService.sentVerificationToken( verificationToken.getEmail(), verificationToken.getType(), verificationToken.getToken()); }