From 441c660af706fd3c6d0e06b36b8f25a808fcdf5f Mon Sep 17 00:00:00 2001
From: Roberto Sánchez <roberto.sanchez@curisit.net>
Date: Fri, 17 Jan 2014 17:35:50 +0000
Subject: [PATCH] #396 feature - Added security management methods for REST API
---
securis/src/main/java/net/curisit/securis/utils/TokenHelper.java | 22 ++++++++++++++++++++--
1 files changed, 20 insertions(+), 2 deletions(-)
diff --git a/securis/src/main/java/net/curisit/securis/utils/TokenHelper.java b/securis/src/main/java/net/curisit/securis/utils/TokenHelper.java
index df247d0..b7d82de 100644
--- a/securis/src/main/java/net/curisit/securis/utils/TokenHelper.java
+++ b/securis/src/main/java/net/curisit/securis/utils/TokenHelper.java
@@ -78,10 +78,12 @@
* @param token
* @return
*/
- public boolean validateToken(String token) {
+ public boolean isTokenValid(String token) {
try {
String tokenDecoded = new String(Base64.decode(token));
String[] parts = StringUtils.split(tokenDecoded, ' ');
+ if (parts == null || parts.length < 3)
+ return false;
String secret = parts[0];
String user = parts[1];
Date date = Utils.toDateFromIso(parts[2]);
@@ -101,8 +103,24 @@
try {
String tokenDecoded = new String(Base64.decode(token));
String[] parts = StringUtils.split(tokenDecoded, ' ');
+ if (parts == null || parts.length < 3)
+ return null;
String user = parts[1];
return user;
+ } catch (IOException e) {
+ log.error("Error decoding Base64 token", e);
+ }
+ return null;
+ }
+
+ public Date extractDateCreationFromToken(String token) {
+ try {
+ String tokenDecoded = new String(Base64.decode(token));
+ String[] parts = StringUtils.split(tokenDecoded, ' ');
+ if (parts == null || parts.length < 3)
+ return null;
+ Date date = Utils.toDateFromIso(parts[2]);
+ return date;
} catch (IOException e) {
log.error("Error decoding Base64 token", e);
}
@@ -114,6 +132,6 @@
String token = th.generateToken("pepe");
System.out.println("Token: " + token);
System.out.println("Token: " + new String(Base64.decode(token)));
- System.out.println("Valid Token: " + th.validateToken(token));
+ System.out.println("Valid Token: " + th.isTokenValid(token));
}
}
--
Gitblit v1.3.2