rsanchez
2017-03-10 2762277c60db7df5ad3214b10a0dd93d4f2f1128
securis/src/main/java/net/curisit/securis/services/BasicServices.java
....@@ -2,6 +2,8 @@
22
33 import java.net.URI;
44 import java.util.Date;
5
+import java.util.HashMap;
6
+import java.util.Map;
57
68 import javax.enterprise.context.ApplicationScoped;
79 import javax.inject.Inject;
....@@ -20,13 +22,13 @@
2022 import javax.ws.rs.core.Response.Status;
2123 import javax.ws.rs.core.UriBuilder;
2224
25
+import org.apache.logging.log4j.LogManager;
26
+import org.apache.logging.log4j.Logger;
27
+
2328 import net.curisit.integrity.commons.Utils;
2429 import net.curisit.securis.ioc.EnsureTransaction;
2530 import net.curisit.securis.security.Securable;
2631 import net.curisit.securis.utils.TokenHelper;
27
-
28
-import org.apache.logging.log4j.LogManager;
29
-import org.apache.logging.log4j.Logger;
3032
3133 /**
3234 * Basic services for login and basic app wrkflow
....@@ -37,93 +39,94 @@
3739 @ApplicationScoped
3840 public class BasicServices {
3941
40
- private static final Logger LOG = LogManager.getLogger(BasicServices.class);
42
+ private static final Logger LOG = LogManager.getLogger(BasicServices.class);
4143
42
- @Inject
43
- TokenHelper tokenHelper;
44
+ @Inject
45
+ TokenHelper tokenHelper;
4446
45
- @Inject
46
- public BasicServices() {
47
- }
47
+ @Inject
48
+ public BasicServices() {
49
+ }
4850
49
- @GET
50
- @Path("/info")
51
- @Produces({
52
- MediaType.TEXT_PLAIN
53
- })
54
- public Response info(@Context HttpServletRequest request) {
55
- return Response.ok().entity("License server running OK. Date: " + new Date()).build();
56
- }
51
+ @GET
52
+ @Path("/info")
53
+ @Produces({ MediaType.TEXT_PLAIN })
54
+ public Response info(@Context HttpServletRequest request) {
55
+ return Response.ok().entity("License server running OK. Date: " + new Date()).build();
56
+ }
5757
58
- @GET
59
- @Path("/{module:(admin)|(login)|(licenses)}")
60
- @Produces({
61
- MediaType.TEXT_HTML
62
- })
63
- public Response init(@PathParam("module") String module, @Context HttpServletRequest request) {
64
- LOG.info("App index main.html");
65
- String page = "/index.jsp";
66
- URI uri = UriBuilder.fromUri(page).build();
67
- return Response.seeOther(uri).build();
68
- }
58
+ @GET
59
+ @Path("/version")
60
+ @Produces({ MediaType.APPLICATION_JSON })
61
+ public Map<String, String> version(@Context HttpServletRequest request) {
62
+ Map<String, String> resp = new HashMap<>();
63
+ // TODO: Get the real version
64
+ String version = "2.0.0";
65
+ resp.put("version", version);
66
+ return resp;
67
+ }
6968
70
- @POST
71
- @Path("/login")
72
- @Produces({
73
- MediaType.APPLICATION_JSON
74
- })
75
- public Response login(@FormParam("username") String user, @FormParam("password") String password, @Context HttpServletRequest request) {
76
- LOG.info("is user in role: {} == {} ? ", "advance", request.isUserInRole("advance"));
69
+ @GET
70
+ @Path("/{module:(admin)|(login)|(licenses)}")
71
+ @Produces({ MediaType.TEXT_HTML })
72
+ public Response init(@PathParam("module") String module, @Context HttpServletRequest request) {
73
+ LOG.info("App index main.html");
74
+ String page = "/index.jsp";
75
+ URI uri = UriBuilder.fromUri(page).build();
76
+ return Response.seeOther(uri).build();
77
+ }
7778
78
- String tokenAuth = tokenHelper.generateToken(user);
79
- return Response.ok(Utils.createMap("success", true, "token", tokenAuth)).build();
80
- }
79
+ @POST
80
+ @Path("/login")
81
+ @Produces({ MediaType.APPLICATION_JSON })
82
+ public Response login(@FormParam("username") String user, @FormParam("password") String password, @Context HttpServletRequest request) {
83
+ LOG.info("is user in role: {} == {} ? ", "advance", request.isUserInRole("advance"));
8184
82
- /**
83
- * Check if current token is valid
84
- *
85
- * @param user
86
- * @param password
87
- * @param request
88
- * @return
89
- */
90
- @GET
91
- @Securable()
92
- @Path("/check")
93
- @Produces({
94
- MediaType.APPLICATION_JSON
95
- })
96
- @EnsureTransaction
97
- public Response check(@HeaderParam(TokenHelper.TOKEN_HEADER_PÀRAM) String token, @QueryParam("token") String token2) {
98
- if (token == null) {
99
- token = token2;
100
- }
101
- if (token == null) {
102
- return Response.status(Status.FORBIDDEN).build();
103
- }
104
- boolean valid = tokenHelper.isTokenValid(token);
105
- if (!valid) {
106
- return Response.status(Status.UNAUTHORIZED).build();
107
- }
85
+ String tokenAuth = tokenHelper.generateToken(user);
86
+ return Response.ok(Utils.createMap("success", true, "token", tokenAuth)).build();
87
+ }
10888
109
- String user = tokenHelper.extractUserFromToken(token);
110
- Date date = tokenHelper.extractDateCreationFromToken(token);
89
+ /**
90
+ * Check if current token is valid
91
+ *
92
+ * @param user
93
+ * @param password
94
+ * @param request
95
+ * @return
96
+ */
97
+ @GET
98
+ @Securable()
99
+ @Path("/check")
100
+ @Produces({ MediaType.APPLICATION_JSON })
101
+ @EnsureTransaction
102
+ public Response check(@HeaderParam(TokenHelper.TOKEN_HEADER_PÀRAM) String token, @QueryParam("token") String token2) {
103
+ if (token == null) {
104
+ token = token2;
105
+ }
106
+ if (token == null) {
107
+ return Response.status(Status.FORBIDDEN).build();
108
+ }
109
+ boolean valid = tokenHelper.isTokenValid(token);
110
+ if (!valid) {
111
+ return Response.status(Status.UNAUTHORIZED).build();
112
+ }
111113
112
- return Response.ok(Utils.createMap("valid", true, "user", user, "date", date)).build();
113
- }
114
+ String user = tokenHelper.extractUserFromToken(token);
115
+ Date date = tokenHelper.extractDateCreationFromToken(token);
114116
115
- @GET
116
- @POST
117
- @Path("/logout")
118
- @Produces({
119
- MediaType.APPLICATION_JSON
120
- })
121
- public Response logout(@HeaderParam(TokenHelper.TOKEN_HEADER_PÀRAM) String token) {
122
- if (token == null) {
123
- Response.status(Status.BAD_REQUEST).build();
124
- }
125
- String user = tokenHelper.extractUserFromToken(token);
126
- LOG.info("User {} has logged out", user);
127
- return Response.ok().build();
128
- }
117
+ return Response.ok(Utils.createMap("valid", true, "user", user, "date", date)).build();
118
+ }
119
+
120
+ @GET
121
+ @POST
122
+ @Path("/logout")
123
+ @Produces({ MediaType.APPLICATION_JSON })
124
+ public Response logout(@HeaderParam(TokenHelper.TOKEN_HEADER_PÀRAM) String token) {
125
+ if (token == null) {
126
+ Response.status(Status.BAD_REQUEST).build();
127
+ }
128
+ String user = tokenHelper.extractUserFromToken(token);
129
+ LOG.info("User {} has logged out", user);
130
+ return Response.ok().build();
131
+ }
129132 }