diff options
author | Anton Tananaev <anton@traccar.org> | 2023-11-26 08:07:52 -0800 |
---|---|---|
committer | Anton Tananaev <anton@traccar.org> | 2023-11-26 08:07:52 -0800 |
commit | acdc451e3e2ab94f548f078c4bd49985b3c2f01d (patch) | |
tree | 0f396d7b809e7a52adb32e1ee268cbff31235c18 /src/main/java/org/traccar/api/security | |
parent | 08cb38a2126e91ccde44e9f91d2ad1f149c7e6b5 (diff) | |
download | trackermap-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.java | 6 | ||||
-rw-r--r-- | src/main/java/org/traccar/api/security/LoginService.java | 6 |
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 { |