Roberto Sánchez
2014-01-17 441c660af706fd3c6d0e06b36b8f25a808fcdf5f
securis/src/main/java/net/curisit/securis/services/UserResource.java
....@@ -19,6 +19,7 @@
1919 import javax.ws.rs.Path;
2020 import javax.ws.rs.PathParam;
2121 import javax.ws.rs.Produces;
22
+import javax.ws.rs.QueryParam;
2223 import javax.ws.rs.core.Context;
2324 import javax.ws.rs.core.MediaType;
2425 import javax.ws.rs.core.Response;
....@@ -206,13 +207,42 @@
206207 log.info("user: {}, pass: {}", user, password);
207208 log.info("is user in role: {} == {} ? ", "advance", request.isUserInRole("advance"));
208209
209
- request.getSession().setAttribute("username", user);
210210 if ("no".equals(password))
211211 return Response.status(Status.UNAUTHORIZED).build();
212212 String tokenAuth = tokenHelper.generateToken(user);
213213 return Response.ok(Utils.createMap("success", true, "token", tokenAuth)).build();
214214 }
215215
216
+ /**
217
+ * Check if current token is valid
218
+ *
219
+ * @param user
220
+ * @param password
221
+ * @param request
222
+ * @return
223
+ */
224
+ @POST
225
+ @Path("/check")
226
+ @Produces(
227
+ { MediaType.APPLICATION_JSON })
228
+ public Response check(@HeaderParam(TokenHelper.TOKEN_HEADER_PÀRAM) String token, @QueryParam("token") String token2) {
229
+ if (token == null)
230
+ token = token2;
231
+ if (token == null)
232
+ return Response.status(Status.FORBIDDEN).build();
233
+
234
+ log.info("Token : " + token);
235
+ String user = tokenHelper.extractUserFromToken(token);
236
+ log.info("Token user: " + user);
237
+ Date date = tokenHelper.extractDateCreationFromToken(token);
238
+ log.info("Token date: " + date);
239
+ boolean valid = tokenHelper.isTokenValid(token);
240
+
241
+ log.info("Is Token valid: " + valid);
242
+
243
+ return Response.ok(Utils.createMap("valid", true, "user", user, "date", date, "token", token)).build();
244
+ }
245
+
216246 @GET
217247 @Path("/logout")
218248 @Produces(