aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/traccar/api/security
diff options
context:
space:
mode:
authorAnton Tananaev <anton@traccar.org>2023-11-26 08:07:52 -0800
committerAnton Tananaev <anton@traccar.org>2023-11-26 08:07:52 -0800
commitacdc451e3e2ab94f548f078c4bd49985b3c2f01d (patch)
tree0f396d7b809e7a52adb32e1ee268cbff31235c18 /src/main/java/org/traccar/api/security
parent08cb38a2126e91ccde44e9f91d2ad1f149c7e6b5 (diff)
downloadtrackermap-server-acdc451e3e2ab94f548f078c4bd49985b3c2f01d.tar.gz
trackermap-server-acdc451e3e2ab94f548f078c4bd49985b3c2f01d.tar.bz2
trackermap-server-acdc451e3e2ab94f548f078c4bd49985b3c2f01d.zip
Set expiration from token
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 {