Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def createUserSession(user: User)(implicit session: DBSession): UserSession = {
- val now = DateTime.now(DateTimeZone.UTC)
- val userSession = new UserSession(user, securityHelper.generateToken(64), now.plusDays(1), securityHelper.generateToken(64), now.plusMonths(1))
- userSessionService.save(userSession)
- userSession
- }
- def signUp(user: User, password: String)(implicit session: DBSession): Try[Unit] = Try {
- user.passwordHash = Some(securityHelper.encode(password, user.username.get))
- userService.save(user)
- }
- def signIn(username: String, password: String)(implicit session: DBSession): Try[(User, UserSession)] = Try {
- val user = userDao.findByUsername(Some(username)).getOrElse(throw CREDENTIALS_ARE_INVALID)
- val encodedPassword = securityHelper.encode(password, username)
- if (!encodedPassword.equals(user.passwordHash.get)) throw CREDENTIALS_ARE_INVALID
- verify(user)
- val userSession = createUserSession(user)
- (user, userSession)
- }
- def emailSignUp(user: User, password: String)(implicit session: DBSession): Try[Unit] = Try {
- user.passwordHash = Some(securityHelper.encode(password, user.email.get))
- user.emailVerificationCode = Some(securityHelper.generateToken(64))
- val now = DateTime.now(DateTimeZone.UTC)
- user.emailVerificationCodeTimestamp = Some(now.plusDays(1))
- if (user.id == 0) userService.save(user)
- else userService.update(user)
- mailService.sendAccountVerificationEmail(user.email.get, user.emailVerificationCode.get)
- }
- def emailSignIn(email: String, password: String)(implicit session: DBSession): Try[(User, UserSession)] = Try {
- val user = userDao.findByEmail(Some(email)).getOrElse(throw CREDENTIALS_ARE_INVALID)
- val encodedPassword = securityHelper.encode(password, email)
- if (!encodedPassword.equals(user.passwordHash.get)) throw CREDENTIALS_ARE_INVALID
- verify(user)
- val userSession = createUserSession(user)
- (user, userSession)
- }
- ...
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement