Skip to content

Commit

Permalink
Merge pull request #12 from Troth-Cam/dev
Browse files Browse the repository at this point in the history
Dev
  • Loading branch information
aeeazip committed Jul 5, 2023
2 parents 49ff0cb + 4984d50 commit a0d2017
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 5 deletions.
6 changes: 4 additions & 2 deletions src/main/java/trothly/trothcam/config/SecurityConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,9 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
private final JwtExceptionFilter jwtExceptionFilter;

@Override
public void configure(WebSecurity web) {
web.ignoring().antMatchers("/login/**", "/health-check/**");
public void configure(WebSecurity web) {
// 로그인 개발 끝나면 "/**" 경로에서 삭제
web.ignoring().antMatchers("/login/**", "/health-check/**", "/**");
}

@Override
Expand All @@ -43,6 +44,7 @@ protected void configure(HttpSecurity http) throws Exception {
.authorizeRequests()
.antMatchers("/login/**").permitAll()
.antMatchers("/health-check/**").permitAll()
.antMatchers("/**").permitAll() // 로그인 개발 끝나면 삭제
.anyRequest().authenticated()
.and()
// .addFilterBefore(jwtAuthenticationFilter, UsernamePasswordAuthenticationFilter.class)
Expand Down
13 changes: 13 additions & 0 deletions src/main/java/trothly/trothcam/domain/member/Member.java
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,22 @@ public class Member extends BaseTimeEntity {
@Enumerated(EnumType.STRING)
private Provider provider;

@Column(name = "refresh_token", nullable = false)
private String refreshToken;

@Column(name = "refresh_token_expires_at", nullable = false)
private LocalDateTime refreshTokenExpiresAt;

@Builder
private Member(String email, Provider provider) {
this.email = email;
this.provider = provider;
this.refreshToken = "";
this.refreshTokenExpiresAt = LocalDateTime.now();
}

public void updateRefreshToken(String refreshToken) {
this.refreshToken = refreshToken;
this.refreshTokenExpiresAt = LocalDateTime.now();
}
}
7 changes: 4 additions & 3 deletions src/main/java/trothly/trothcam/service/JwtService.java
Original file line number Diff line number Diff line change
Expand Up @@ -42,20 +42,21 @@ public String encodeJwtToken(TokenDto tokenDto) {
.compact();
}

public String encodeJwtRefreshToken(Long userAccountId) {
public String encodeJwtRefreshToken(Long memberId) {
Date now = new Date();
return Jwts.builder()
.setIssuedAt(now)
.setSubject(userAccountId.toString())
.setSubject(memberId.toString())
.setExpiration(new Date(now.getTime() + Duration.ofMinutes(20160).toMillis()))
.claim("userAccountId", userAccountId)
.claim("memberId", memberId)
.claim("roles", "USER")
.signWith(SignatureAlgorithm.HS256,
Base64.getEncoder().encodeToString(("" + JWT_SECRET).getBytes(
StandardCharsets.UTF_8)))
.compact();
}

// JWT 토큰으로부터 memberId 추출
public Long getMemberIdFromJwtToken(String token) {
Claims claims = Jwts.parser()
.setSigningKey(Base64.getEncoder().encodeToString(("" + JWT_SECRET).getBytes(
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/trothly/trothcam/service/auth/OAuthService.java
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,9 @@ public LoginResDto appleLogin(LoginReqDto loginReqDto) {
logger.info("accessToken : " + newAccessToken);
logger.info("refreshToken : " + newRefreshToken);

member.updateRefreshToken(newRefreshToken);
memberRepository.save(member);

return new LoginResDto(newAccessToken, newRefreshToken);
}
}

0 comments on commit a0d2017

Please sign in to comment.