Advertisement
Guest User

Untitled

a guest
Apr 29th, 2016
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.95 KB | None | 0 0
  1. def createUserSession(user: User)(implicit session: DBSession): UserSession = {
  2. val now = DateTime.now(DateTimeZone.UTC)
  3. val userSession = new UserSession(user, securityHelper.generateToken(64), now.plusDays(1), securityHelper.generateToken(64), now.plusMonths(1))
  4.  
  5. userSessionService.save(userSession)
  6.  
  7. userSession
  8. }
  9.  
  10. def signUp(user: User, password: String)(implicit session: DBSession): Try[Unit] = Try {
  11.  
  12. user.passwordHash = Some(securityHelper.encode(password, user.username.get))
  13.  
  14. userService.save(user)
  15. }
  16.  
  17. def signIn(username: String, password: String)(implicit session: DBSession): Try[(User, UserSession)] = Try {
  18.  
  19. val user = userDao.findByUsername(Some(username)).getOrElse(throw CREDENTIALS_ARE_INVALID)
  20.  
  21. val encodedPassword = securityHelper.encode(password, username)
  22. if (!encodedPassword.equals(user.passwordHash.get)) throw CREDENTIALS_ARE_INVALID
  23.  
  24. verify(user)
  25.  
  26. val userSession = createUserSession(user)
  27.  
  28. (user, userSession)
  29. }
  30.  
  31. def emailSignUp(user: User, password: String)(implicit session: DBSession): Try[Unit] = Try {
  32.  
  33. user.passwordHash = Some(securityHelper.encode(password, user.email.get))
  34. user.emailVerificationCode = Some(securityHelper.generateToken(64))
  35.  
  36. val now = DateTime.now(DateTimeZone.UTC)
  37. user.emailVerificationCodeTimestamp = Some(now.plusDays(1))
  38.  
  39. if (user.id == 0) userService.save(user)
  40. else userService.update(user)
  41.  
  42. mailService.sendAccountVerificationEmail(user.email.get, user.emailVerificationCode.get)
  43. }
  44.  
  45. def emailSignIn(email: String, password: String)(implicit session: DBSession): Try[(User, UserSession)] = Try {
  46.  
  47. val user = userDao.findByEmail(Some(email)).getOrElse(throw CREDENTIALS_ARE_INVALID)
  48.  
  49. val encodedPassword = securityHelper.encode(password, email)
  50. if (!encodedPassword.equals(user.passwordHash.get)) throw CREDENTIALS_ARE_INVALID
  51.  
  52. verify(user)
  53.  
  54. val userSession = createUserSession(user)
  55.  
  56. (user, userSession)
  57. }
  58.  
  59. ...
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement