Example #1
0
 /**
  * 토큰 정보를 이용해서 사용자 객체를 가져온다. 토큰 정보가 없거나 잘못된 정보라면 anonymous 객체를 반환한다. 잘못된 정보의 경우 토큰 정보를 삭제한다.
  *
  * @return
  */
 private static User getUserFromToken() {
   Cookie cookie = request().cookies().get(TOKEN);
   if (cookie == null) {
     return User.anonymous;
   }
   String[] subject = StringUtils.split(cookie.value(), TOKEN_SEPARATOR);
   if (ArrayUtils.getLength(subject) != TOKEN_LENGTH) {
     return invalidToken();
   }
   User user = authenticateWithHashedPassword(subject[0], subject[1]);
   if (user.isAnonymous()) {
     return invalidToken();
   }
   return user;
 }