From fe5241a1e1c65cec197faf66dc1b5f1ae84d9bbf Mon Sep 17 00:00:00 2001 From: Antony Kurniawan Date: Thu, 2 Oct 2025 15:40:09 +0700 Subject: [PATCH] fix: refresh token --- services/auth.service.js | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/services/auth.service.js b/services/auth.service.js index 3e771f8..68fbe9b 100644 --- a/services/auth.service.js +++ b/services/auth.service.js @@ -76,17 +76,22 @@ class AuthService { // Refresh Token static async refreshToken(refreshToken) { - if (!refreshToken) { - throw new ErrorHandler(401, 'Refresh token is required'); - } + if (!refreshToken) throw new ErrorHandler(401, 'Refresh token is required'); - const decoded = JWTService.verifyRefreshToken(refreshToken); + let decoded; + try { + decoded = JWTService.verifyRefreshToken(refreshToken); + } catch (err) { + if (err.message.includes('expired')) throw new ErrorHandler(401, 'Refresh token expired'); + throw new ErrorHandler(401, 'Invalid refresh token'); + } const payload = { user_id: decoded.user_id, user_fullname: decoded.user_fullname, user_name: decoded.user_name, user_email: decoded.user_email, + user_phone: decoded.user_phone, role_id: decoded.role_id, role_name: decoded.role_name, is_sa: decoded.is_sa @@ -94,7 +99,11 @@ class AuthService { const accessToken = JWTService.generateAccessToken(payload); - return { accessToken, tokenType: 'Bearer', expiresIn: 900 }; + return { + accessToken, + tokenType: 'Bearer', + expiresIn: 900 + }; } }