aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/traccar/api/security
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/traccar/api/security')
-rw-r--r--src/main/java/org/traccar/api/security/LoginResult.java6
-rw-r--r--src/main/java/org/traccar/api/security/LoginService.java6
2 files changed, 8 insertions, 4 deletions
diff --git a/src/main/java/org/traccar/api/security/LoginResult.java b/src/main/java/org/traccar/api/security/LoginResult.java
index 66c35bbed..1fccc36d1 100644
--- a/src/main/java/org/traccar/api/security/LoginResult.java
+++ b/src/main/java/org/traccar/api/security/LoginResult.java
@@ -10,8 +10,12 @@ public class LoginResult {
private final Date expiration;
public LoginResult(User user) {
+ this(user, null);
+ }
+
+ public LoginResult(User user, Date expiration) {
this.user = user;
- expiration = null;
+ this.expiration = expiration;
}
public User getUser() {
diff --git a/src/main/java/org/traccar/api/security/LoginService.java b/src/main/java/org/traccar/api/security/LoginService.java
index 6246d2494..930c4fa46 100644
--- a/src/main/java/org/traccar/api/security/LoginService.java
+++ b/src/main/java/org/traccar/api/security/LoginService.java
@@ -62,13 +62,13 @@ public class LoginService {
if (serviceAccountToken != null && serviceAccountToken.equals(token)) {
return new LoginResult(new ServiceAccountUser());
}
- long userId = tokenManager.verifyToken(token);
+ TokenManager.TokenData tokenData = tokenManager.verifyToken(token);
User user = storage.getObject(User.class, new Request(
- new Columns.All(), new Condition.Equals("id", userId)));
+ new Columns.All(), new Condition.Equals("id", tokenData.getUserId())));
if (user != null) {
checkUserEnabled(user);
}
- return new LoginResult(user);
+ return new LoginResult(user, tokenData.getExpiration());
}
public LoginResult login(String email, String password, Integer code) throws StorageException {