Skip to content

Commit 4676f7a

Browse files
authored
Fix/token parsing error (#211)
* fix: token parsing error * refactor: 중복제거
1 parent 85ade0e commit 4676f7a

File tree

4 files changed

+16
-20
lines changed

4 files changed

+16
-20
lines changed

login-service/src/main/java/com/yapp/crew/config/JwtUtils.java

Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.yapp.crew.config;
22

3+
import com.yapp.crew.domain.errors.TokenRequiredException;
34
import com.yapp.crew.domain.model.User;
45
import io.jsonwebtoken.Claims;
56
import io.jsonwebtoken.Jws;
@@ -56,28 +57,21 @@ private Date generateExpirationDate(Date now) {
5657
return calendar.getTime();
5758
}
5859

59-
public String getUserIdFromToken(String token) {
60-
token = token.replace(prefix + " ", "");
61-
log.info("remove prefix token: " + token);
62-
63-
String userId;
60+
public long getUserIdFromToken(String token) {
6461
try {
65-
final Claims claims = getClaimsFromToken(token);
66-
userId = String.valueOf(claims.get("userId"));
62+
final Claims claims = getClaimsFromToken(token).getBody();
63+
long userId = Long.parseLong(String.valueOf(claims.get("userId")));
6764
log.info("userId from token: " + userId);
65+
return userId;
6866
} catch (Exception e) {
69-
userId = null;
67+
throw new TokenRequiredException("[Auto Login Service] Token is required but wasn't sent");
7068
}
71-
return userId;
7269
}
7370

7471
public Date getExpirationFromToken(String token) {
75-
token = token.replace(prefix + " ", "");
76-
log.info("remove prefix token: " + token);
77-
7872
Date expiration;
7973
try {
80-
final Claims claims = getClaimsFromToken(token);
74+
final Claims claims = getClaimsFromToken(token).getBody();
8175
expiration = claims.getExpiration();
8276
log.info("expiration from token: " + expiration.toString());
8377
} catch (Exception e) {
@@ -86,14 +80,16 @@ public Date getExpirationFromToken(String token) {
8680
return expiration;
8781
}
8882

89-
private Claims getClaimsFromToken(String token) {
90-
Claims claims;
83+
private Jws<Claims> getClaimsFromToken(String token) {
84+
token = token.replace(prefix + " ", "");
85+
log.info("remove prefix token: " + token);
86+
87+
Jws<Claims> claims;
9188
try {
9289
claims = Jwts.parserBuilder()
9390
.setSigningKey(Keys.hmacShaKeyFor(secret.getBytes()))
9491
.build()
95-
.parseClaimsJws(token)
96-
.getBody();
92+
.parseClaimsJws(token);
9793
} catch (Exception e) {
9894
claims = null;
9995
}

login-service/src/main/java/com/yapp/crew/service/SignInService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public UserAuthResponse signIn(LoginUserInfo loginUserInfo) {
5050
}
5151

5252
public UserAuthResponse autoSignIn(String token) {
53-
long userId = Long.parseLong(jwtUtils.getUserIdFromToken(token));
53+
long userId = jwtUtils.getUserIdFromToken(token);
5454

5555
User user = getUserByUserId(userId)
5656
.orElseThrow(() -> new UserNotFoundException(userId));

login-service/src/main/java/com/yapp/crew/service/TokenService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public HttpHeaders setToken(User user) {
2929
public HttpHeaders refreshToken(User user, String token) {
3030
String refreshToken = null;
3131
if (jwtUtil.verifyToken(token)) {
32-
refreshToken = token;
32+
refreshToken = "Bearer " + token;
3333
} else {
3434
refreshToken = jwtUtil.createToken(user);
3535
}

login-service/src/main/java/com/yapp/crew/service/WithdrawService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public WithdrawService(UserRepository userRepository, JwtUtils jwtUtils) {
2626

2727
@Transactional
2828
public UserAuthResponse withdraw(String token) {
29-
long userId = Long.parseLong(jwtUtils.getUserIdFromToken(token));
29+
long userId = jwtUtils.getUserIdFromToken(token);
3030

3131
User user = getUserByUserId(userId)
3232
.orElseThrow(() -> new UserNotFoundException(userId));

0 commit comments

Comments
 (0)