| .. | .. |
|---|
| 19 | 19 | import javax.ws.rs.Path; |
|---|
| 20 | 20 | import javax.ws.rs.PathParam; |
|---|
| 21 | 21 | import javax.ws.rs.Produces; |
|---|
| 22 | +import javax.ws.rs.QueryParam; |
|---|
| 22 | 23 | import javax.ws.rs.core.Context; |
|---|
| 23 | 24 | import javax.ws.rs.core.MediaType; |
|---|
| 24 | 25 | import javax.ws.rs.core.Response; |
|---|
| .. | .. |
|---|
| 206 | 207 | log.info("user: {}, pass: {}", user, password); |
|---|
| 207 | 208 | log.info("is user in role: {} == {} ? ", "advance", request.isUserInRole("advance")); |
|---|
| 208 | 209 | |
|---|
| 209 | | - request.getSession().setAttribute("username", user); |
|---|
| 210 | 210 | if ("no".equals(password)) |
|---|
| 211 | 211 | return Response.status(Status.UNAUTHORIZED).build(); |
|---|
| 212 | 212 | String tokenAuth = tokenHelper.generateToken(user); |
|---|
| 213 | 213 | return Response.ok(Utils.createMap("success", true, "token", tokenAuth)).build(); |
|---|
| 214 | 214 | } |
|---|
| 215 | 215 | |
|---|
| 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 | + |
|---|
| 216 | 246 | @GET |
|---|
| 217 | 247 | @Path("/logout") |
|---|
| 218 | 248 | @Produces( |
|---|