Skip to content

Commit

Permalink
Merge pull request #117 from UMC5th-bias/fix/#116
Browse files Browse the repository at this point in the history
[FIX/#116] 일반 회원가입시 ATK, RTK 함께 반환하도록 수정 & JwtAuthenticationFilter 클래스 주석처리 해제
  • Loading branch information
JungYoonShin committed Aug 20, 2024
2 parents 5cfe5ba + 69e9340 commit 72bf4d1
Show file tree
Hide file tree
Showing 5 changed files with 23 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -50,13 +50,17 @@ public static class MemberDetailResDto {
private String introduction;
private String profileImage;
private String profileTitleItem;
private String accessToken;
private String refreshToken;

public static MemberDetailResDto from(Member member) {
public static MemberDetailResDto from(Member member, TokenInfo tokenInfo) {
return MemberDetailResDto.builder()
.nickname(member.getNickname())
.introduction(member.getDescription())
.profileImage(member.getProfileImageUrl())
.profileTitleItem(member.getProfileTitle().getDefaultImage().getUrl())
.accessToken(tokenInfo.accessToken)
.refreshToken(tokenInfo.refreshToken)
.build();
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,10 @@ public MemberDto.MemberDetailResDto signup(MemberSignUpReqDto memberSignUpReqDto
Member member = memberSignUpReqDto.toEntity(password, uuid, titleItem);
memberRepository.save(member);

return MemberDetailResDto.from(member);
MemberDto.TokenInfo tokenInfo = jwtTokenProvider.generateToken(member.getEmail());
member.updateRefreshToken(tokenInfo.getRefreshToken());

return MemberDetailResDto.from(member, tokenInfo);
}

@Transactional
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,14 +59,14 @@ public class JwtAuthenticationFilter extends OncePerRequestFilter {
// Add more paths and methods as needed
);

// @Override
// protected boolean shouldNotFilter(HttpServletRequest request) throws ServletException {
// String requestURI = request.getServletPath();
// String method = request.getMethod();
//
// return !excludePaths.stream()
// .anyMatch(excludePath -> excludePath.matches(requestURI, method));
// }
@Override
protected boolean shouldNotFilter(HttpServletRequest request) throws ServletException {
String requestURI = request.getServletPath();
String method = request.getMethod();

return !excludePaths.stream()
.anyMatch(excludePath -> excludePath.matches(requestURI, method));
}

@Override
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain chain) throws IOException, ServletException {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ public void onAuthenticationSuccess(HttpServletRequest request, HttpServletRespo

//인증 정보를 기반으로 JWT 토큰 생성
response.setContentType(APPLICATION_JSON_VALUE);
TokenInfo tokenInfo = jwtTokenProvider.generateToken(authentication);
TokenInfo tokenInfo = jwtTokenProvider.generateToken(member.getEmail());

//refreshToken 업데이트
member.updateRefreshToken(tokenInfo.getRefreshToken());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ public class JwtTokenProvider {
private final Long refreshExpirePeriod = 24 * 60 * 60 * 1000L * 40;
private final UserDetailsService userDetailsService;

public TokenInfo generateToken(Authentication authentication) {
Claims claims = Jwts.claims().setSubject(authentication.getName());
public TokenInfo generateToken(String userEmail) {
Claims claims = Jwts.claims().setSubject(userEmail);
Date now = new Date();

// Access Token 생성
Expand All @@ -42,16 +42,16 @@ public TokenInfo generateToken(Authentication authentication) {
.compact();

// Refresh Token 생성
String refreshToken = createRefreshToken(authentication);
String refreshToken = createRefreshToken(userEmail);
return TokenInfo.builder()
.grantType("Bearer")
.accessToken(accessToken)
.refreshToken(refreshToken)
.build();
}

public String createRefreshToken(Authentication authentication){
Claims claims = Jwts.claims().setSubject(authentication.getName());
public String createRefreshToken(String userEmail){
Claims claims = Jwts.claims().setSubject(userEmail);
Date now = new Date();

String refreshToken = Jwts.builder()
Expand Down

0 comments on commit 72bf4d1

Please sign in to comment.