aboutsummaryrefslogtreecommitdiff
path: root/src/org/traccar/api/resource/SessionResource.java
diff options
context:
space:
mode:
authorAnton Tananaev <anton.tananaev@gmail.com>2016-11-19 10:23:24 +1300
committerGitHub <noreply@github.com>2016-11-19 10:23:24 +1300
commitb0aa4698e95658f57ec2d3e0ed4f3fe0db8500a2 (patch)
tree3b8b691bb01298ba6207d18ce761bd9ee6537971 /src/org/traccar/api/resource/SessionResource.java
parent3eca9acd6e6a160df8f7b86150429c3d7c09b0c3 (diff)
parente21cc32bb74d998246b52faaf49b6ea742e4d6e3 (diff)
downloadtraccar-server-b0aa4698e95658f57ec2d3e0ed4f3fe0db8500a2.tar.gz
traccar-server-b0aa4698e95658f57ec2d3e0ed4f3fe0db8500a2.tar.bz2
traccar-server-b0aa4698e95658f57ec2d3e0ed4f3fe0db8500a2.zip
Merge pull request #2552 from Abyss777/token2
Implement users tokens
Diffstat (limited to 'src/org/traccar/api/resource/SessionResource.java')
-rw-r--r--src/org/traccar/api/resource/SessionResource.java9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/org/traccar/api/resource/SessionResource.java b/src/org/traccar/api/resource/SessionResource.java
index a61738c7e..db8a5c837 100644
--- a/src/org/traccar/api/resource/SessionResource.java
+++ b/src/org/traccar/api/resource/SessionResource.java
@@ -29,6 +29,7 @@ import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
@@ -48,7 +49,7 @@ public class SessionResource extends BaseResource {
@PermitAll
@GET
- public User get() throws SQLException {
+ public User get(@QueryParam("token") String token) throws SQLException {
Long userId = (Long) request.getSession().getAttribute(USER_ID_KEY);
if (userId == null) {
Cookie[] cookies = request.getCookies();
@@ -69,6 +70,12 @@ public class SessionResource extends BaseResource {
userId = user.getId();
request.getSession().setAttribute(USER_ID_KEY, userId);
}
+ } else if (token != null) {
+ User user = Context.getPermissionsManager().getUserByToken(request.getParameter("token"));
+ if (user != null) {
+ userId = user.getId();
+ request.getSession().setAttribute(USER_ID_KEY, userId);
+ }
}
}