diff --git a/users/src/main/java/ba/steleks/controller/AuthenticationController.java b/users/src/main/java/ba/steleks/controller/AuthenticationController.java index 30b6c50..44a144c 100644 --- a/users/src/main/java/ba/steleks/controller/AuthenticationController.java +++ b/users/src/main/java/ba/steleks/controller/AuthenticationController.java @@ -61,6 +61,14 @@ public class AuthenticationController { } } + @RequestMapping(path = "/accesstoken/{token}", method = RequestMethod.DELETE) + public ResponseEntity removeToken(@PathVariable String token) { + tokenStore.removeToken(token); + return ResponseEntity + .noContent() + .build(); + } + @RequestMapping(path = "/accesstoken/{token}", method = RequestMethod.GET) public ResponseEntity validateToken(@PathVariable String token) { if (tokenStore.isValidToken(token)) { diff --git a/users/src/main/java/ba/steleks/security/token/BasicTokenStore.java b/users/src/main/java/ba/steleks/security/token/BasicTokenStore.java index 0a47a3f..36674c8 100644 --- a/users/src/main/java/ba/steleks/security/token/BasicTokenStore.java +++ b/users/src/main/java/ba/steleks/security/token/BasicTokenStore.java @@ -36,6 +36,7 @@ public class BasicTokenStore implements TokenStore { // Token is invalid, it has expired if(basicToken.saveTime + ttl < CalendarUtils.getUTCCalendar().getTimeInMillis()) { + tokenStore.remove(token); return false; }