diff --git a/src/main/kotlin/pt/up/fe/ni/website/backend/service/AuthService.kt b/src/main/kotlin/pt/up/fe/ni/website/backend/service/AuthService.kt index 316ced51..dfef1623 100644 --- a/src/main/kotlin/pt/up/fe/ni/website/backend/service/AuthService.kt +++ b/src/main/kotlin/pt/up/fe/ni/website/backend/service/AuthService.kt @@ -45,15 +45,7 @@ class AuthService( } fun refreshAccessToken(refreshToken: String): String { - val jwt = - try { - jwtDecoder.decode(refreshToken) - } catch (e: Exception) { - throw InvalidBearerTokenException(ErrorMessages.invalidRefreshToken) - } - if (jwt.expiresAt?.isBefore(Instant.now()) != false) { - throw InvalidBearerTokenException(ErrorMessages.expiredRefreshToken) - } + val jwt = jwtDecoder.decode(refreshToken) val account = accountService.getAccountByEmail(jwt.subject) return generateAccessToken(account) } diff --git a/src/main/kotlin/pt/up/fe/ni/website/backend/service/ErrorMessages.kt b/src/main/kotlin/pt/up/fe/ni/website/backend/service/ErrorMessages.kt index 10a97ca9..ea20ceb8 100644 --- a/src/main/kotlin/pt/up/fe/ni/website/backend/service/ErrorMessages.kt +++ b/src/main/kotlin/pt/up/fe/ni/website/backend/service/ErrorMessages.kt @@ -7,13 +7,9 @@ object ErrorMessages { const val invalidCredentials = "invalid credentials" - const val invalidRefreshToken = "invalid refresh token" + const val invalidToken = "invalid token" - const val expiredRefreshToken = "refresh token has expired" - - const val invalidToken = "invalid password recovery token" - - const val expiredToken = "password recovery token has expired" + const val expiredToken = "token has expired" const val noGenerations = "no generations created yet" diff --git a/src/test/kotlin/pt/up/fe/ni/website/backend/controller/AuthControllerTest.kt b/src/test/kotlin/pt/up/fe/ni/website/backend/controller/AuthControllerTest.kt index 84747357..8dabdbcd 100644 --- a/src/test/kotlin/pt/up/fe/ni/website/backend/controller/AuthControllerTest.kt +++ b/src/test/kotlin/pt/up/fe/ni/website/backend/controller/AuthControllerTest.kt @@ -35,7 +35,6 @@ import pt.up.fe.ni.website.backend.model.Account import pt.up.fe.ni.website.backend.model.CustomWebsite import pt.up.fe.ni.website.backend.model.constants.AccountConstants import pt.up.fe.ni.website.backend.repository.AccountRepository -import pt.up.fe.ni.website.backend.service.ErrorMessages import pt.up.fe.ni.website.backend.utils.TestUtils import pt.up.fe.ni.website.backend.utils.ValidationTester import pt.up.fe.ni.website.backend.utils.annotations.ControllerTest @@ -170,7 +169,7 @@ class AuthControllerTest @Autowired constructor( ) .andExpectAll( status().isUnauthorized, - jsonPath("$.errors[0].message").value("invalid refresh token") + jsonPath("$.errors[0].message").value("invalid token") ) .andDocumentErrorResponse(documentation, hasRequestPayload = true) } @@ -344,7 +343,7 @@ class AuthControllerTest @Autowired constructor( ).andExpectAll( status().isUnauthorized(), jsonPath("$.errors.length()").value(1), - jsonPath("$.errors[0].message").value("invalid password recovery token") + jsonPath("$.errors[0].message").value("invalid token") ).andDocumentCustomRequestSchemaErrorResponse( documentation, passwordRecoveryPayload, @@ -394,8 +393,6 @@ class AuthControllerTest @Autowired constructor( .expiresAt(Instant.now().minus(1, ChronoUnit.DAYS)) .subject(decoded.subject) .claim("scope", decoded.claims["scope"]) - claimsBuilder.claim("exp", Instant.now().minus(1, ChronoUnit.DAYS).epochSecond) - claimsBuilder.claim("iat", Instant.now().minus(2, ChronoUnit.DAYS).epochSecond) val newToken = jwtEncoder.encode(JwtEncoderParameters.from(claimsBuilder.build())).tokenValue @@ -412,7 +409,7 @@ class AuthControllerTest @Autowired constructor( ).andExpectAll( status().isUnauthorized(), jsonPath("$.errors.length()").value(1), - jsonPath("$.errors[0].message").value(ErrorMessages.expiredToken) + jsonPath("$.errors[0].message").value("token has expired") ) } } @@ -462,7 +459,7 @@ class AuthControllerTest @Autowired constructor( ).andExpectAll( status().isUnauthorized(), jsonPath("$.errors.length()").value(1), - jsonPath("$.errors[0].message").value(ErrorMessages.invalidToken) + jsonPath("$.errors[0].message").value("invalid token") ) } } @@ -512,7 +509,7 @@ class AuthControllerTest @Autowired constructor( ).andExpectAll( status().isUnauthorized(), jsonPath("$.errors.length()").value(1), - jsonPath("$.errors[0].message").value(ErrorMessages.invalidToken) + jsonPath("$.errors[0].message").value("invalid token") ).andDocumentCustomRequestSchemaErrorResponse( documentation, passwordRecoveryPayload,