From 52fc1655f352aabfa0a235124db63c7260e2c0b4 Mon Sep 17 00:00:00 2001 From: Mirna Gama Date: Thu, 11 Jan 2024 21:23:57 -0300 Subject: [PATCH] [R9] Get token subject method in Token Service class --- .../services/auth/jwt/TokenServiceImpl.java | 15 +++++++++++++++ .../domain/services/auth/jwt/TokenService.java | 8 ++++++++ 2 files changed, 23 insertions(+) diff --git a/src/main/java/com/mirna/hospitalmanagementapi/application/services/auth/jwt/TokenServiceImpl.java b/src/main/java/com/mirna/hospitalmanagementapi/application/services/auth/jwt/TokenServiceImpl.java index bf0383f..8ea8253 100644 --- a/src/main/java/com/mirna/hospitalmanagementapi/application/services/auth/jwt/TokenServiceImpl.java +++ b/src/main/java/com/mirna/hospitalmanagementapi/application/services/auth/jwt/TokenServiceImpl.java @@ -4,6 +4,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.mirna.hospitalmanagementapi.application.usecase.auth.jwt.CreateJWTUseCase; +import com.mirna.hospitalmanagementapi.application.usecase.auth.jwt.GetJWTSubjectUseCase; import com.mirna.hospitalmanagementapi.domain.entities.auth.User; import com.mirna.hospitalmanagementapi.domain.services.auth.jwt.TokenService; @@ -21,6 +22,9 @@ public class TokenServiceImpl implements TokenService { @Autowired private CreateJWTUseCase createJWT; + @Autowired + private GetJWTSubjectUseCase getJWTSubject; + /** * Generates the authorization token * @@ -31,5 +35,16 @@ public class TokenServiceImpl implements TokenService { public String generateToken(User user) { return createJWT.execute(user); } + + /** + * Gets the jwt subject + * + * @param token The json web token on request header + * @return A string containing the subject from the decoded jwt + */ + @Override + public String getTokenSubject(String token) { + return getJWTSubject.execute(token); + } } diff --git a/src/main/java/com/mirna/hospitalmanagementapi/domain/services/auth/jwt/TokenService.java b/src/main/java/com/mirna/hospitalmanagementapi/domain/services/auth/jwt/TokenService.java index 0dbef6c..b13b5cf 100644 --- a/src/main/java/com/mirna/hospitalmanagementapi/domain/services/auth/jwt/TokenService.java +++ b/src/main/java/com/mirna/hospitalmanagementapi/domain/services/auth/jwt/TokenService.java @@ -17,5 +17,13 @@ public interface TokenService { * @returns A string containing the authorization token */ public String generateToken(User user); + + /** + * Gets the jwt subject + * + * @param token The json web token on request header + * @return A string containing the subject from the decoded jwt + */ + public String getTokenSubject(String token); }