예제 #1
0
 /**
  * 根据 token 串解密出 OauthToken 对象
  *
  * @param token
  * @return
  */
 public OauthToken parseToken(String token) {
   String deToken = desEncrypt.decrypt(token, ENCRYPT_KEY);
   if (deToken == null) return null;
   String[] tokens = this.findSplitsToken(deToken);
   if (tokens != null && tokens.length == 3) {
     OauthToken oauthToken = new OauthToken();
     oauthToken.setUsername(tokens[1]);
     oauthToken.setPassword(tokens[2]);
     try { // token时间限制,半小时
       long time = Long.parseLong(tokens[0]);
       if ((System.currentTimeMillis() - time) > 1800000) {
         logger.error("令牌已超时");
         return null;
       }
     } catch (NumberFormatException e) {
       return null;
     }
     return oauthToken;
   } else {
     logger.error("令牌已超时");
   }
   return null;
 }