Skip to content

Commit 1a6ca18

Browse files
authored
Merge pull request #31 from MT-TEAM-Org/feat/PH-84
[error] 회원가입 시에도 발급되는 리프레시 쿠키를 사용할수 있도록 수정
2 parents 3c7ee88 + f4f826e commit 1a6ca18

File tree

12 files changed

+31
-19
lines changed

12 files changed

+31
-19
lines changed

build.gradle

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,11 @@ dependencies {
6464
// mysql-connector 추가
6565
implementation group: 'com.mysql', name: 'mysql-connector-j', version: '8.3.0'
6666

67+
// imgscalr-lib
68+
implementation group: 'org.imgscalr', name: 'imgscalr-lib', version: '4.2'
69+
70+
// commons-io
71+
implementation 'commons-io:commons-io:2.14.0'
6772

6873
// Swagger
6974
implementation group: 'org.springdoc', name: 'springdoc-openapi-starter-webmvc-ui', version: '2.6.0'

src/main/java/org/myteam/server/auth/controller/ReIssueController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
import static org.myteam.server.global.exception.ErrorCode.INTERNAL_SERVER_ERROR;
1818
import static org.myteam.server.global.security.jwt.JwtProvider.*;
19-
import static org.myteam.server.util.cookie.CookieUtil.createCookie;
19+
import static org.myteam.server.global.util.cookie.CookieUtil.createCookie;
2020

2121
/**
2222
* TODO_ : 리프레시 토큰에 대한 블랙 리스트 작성

src/main/java/org/myteam/server/board/entity/Category.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import lombok.Getter;
77
import lombok.NoArgsConstructor;
88
import org.myteam.server.board.dto.CategorySaveRequest;
9+
import org.myteam.server.global.domain.Base;
910

1011
import java.util.ArrayList;
1112
import java.util.List;
@@ -14,7 +15,7 @@
1415
@Entity
1516
@NoArgsConstructor(access = AccessLevel.PROTECTED)
1617
@Table(name = "p_categories")
17-
public class Category {
18+
public class Category extends Base {
1819
@Id
1920
@GeneratedValue(strategy = GenerationType.IDENTITY)
2021
private Long id;

src/main/java/org/myteam/server/board/service/CategoryService.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,6 @@ public CategoryResponse create(CategorySaveRequest categorySaveRequest) {
5757
}
5858

5959
categoryEntity.updateOrderIndex(calculateOrderIndex(categoryJpaRepository.findByParentIsNull()));
60-
// categoryEntity.updateOrderIndex();
6160
}
6261

6362
Category savedEntity = categoryJpaRepository.save(categoryEntity);

src/main/java/org/myteam/server/global/domain/Base.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,10 @@
1313
@Getter
1414
public class Base extends BaseTime {
1515
@CreatedBy
16-
@Column(updatable = false)
16+
@Column(name = "created_by", updatable = false)
1717
private String createdBy;
1818

1919
@LastModifiedBy
20+
@Column(name = "last_modified_by")
2021
private String lastModifiedBy;
2122
}

src/main/java/org/myteam/server/global/domain/BaseTime.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@
1414
@MappedSuperclass
1515
@Getter
1616
public class BaseTime {
17-
1817
@CreatedDate
19-
@Column(updatable = false)
18+
@Column(name = "create_date", updatable = false)
2019
private LocalDateTime createDate;
20+
2121
@LastModifiedDate
22+
@Column(name = "last_modified_date")
2223
private LocalDateTime lastModifiedDate;
23-
2424
}

src/main/java/org/myteam/server/global/domain/PlayHive.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package org.myteam.server.global.domain;
22

33
public class PlayHive {
4+
public static final String PLAYHIVE_HOME = "playhive.home";
45
public static final String CLIENT_ID_KEY = "PLAYHIVE_CLIENT_ID";
56
public static final String CLIENT_SECRET_KEY = "PLAYHIVE_CLIENT_SECRET";
67

src/main/java/org/myteam/server/global/exception/ErrorCode.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,14 @@ public enum ErrorCode {
99
// 500 Server Error
1010
INTERNAL_SERVER_ERROR(HttpStatus.INTERNAL_SERVER_ERROR, "PlayHive Server Error"),
1111
API_SERVER_ERROR(HttpStatus.INTERNAL_SERVER_ERROR, "API Server Error"),
12+
IO_EXCEPTION(HttpStatus.INTERNAL_SERVER_ERROR, "File I/O operation failed"),
1213

1314
// 400 Bad Request
1415
INVALID_CREDENTIALS(HttpStatus.BAD_REQUEST, "Invalid password"),
1516
UNSUPPORTED_OAUTH_PROVIDER(HttpStatus.BAD_REQUEST, "Not Supported OAuth2 provider"),
1617
INVALID_PARAMETER(HttpStatus.BAD_REQUEST, "Invalid parameter value"),
1718
EMPTY_COOKIE(HttpStatus.BAD_REQUEST, "Cookie value is empty"),
19+
INVALID_TYPE(HttpStatus.BAD_REQUEST, "Invalid type provided"),
1820

1921
// 401 Unauthorized,
2022
UNAUTHORIZED(HttpStatus.UNAUTHORIZED, "Unauthorized"),

src/main/java/org/myteam/server/global/security/config/SecurityConfig.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,8 @@ public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Excepti
122122

123123
.requestMatchers("/h2-console").permitAll() // H2 콘솔 접근 허용
124124
.requestMatchers("/api/members/get-token/**").permitAll() // 테스트용 토큰 발급용
125+
.requestMatchers("/api/attachments/**").permitAll() // 테스트용
126+
.requestMatchers("/api/posts/**").permitAll() // 테스트용
125127

126128
.requestMatchers("/api/admin/**").hasAnyAuthority(MemberRole.ADMIN.name())
127129
.requestMatchers(HttpMethod.POST, "/api/me/create").permitAll()

src/main/java/org/myteam/server/global/security/filter/JwtAuthenticationFilter.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
import static org.myteam.server.auth.controller.ReIssueController.TOKEN_REISSUE_PATH;
3030
import static org.myteam.server.global.security.jwt.JwtProvider.*;
3131
import static org.myteam.server.member.domain.MemberStatus.*;
32-
import static org.myteam.server.util.cookie.CookieUtil.createCookie;
32+
import static org.myteam.server.global.util.cookie.CookieUtil.createCookie;
3333

3434
@Slf4j
3535
public class JwtAuthenticationFilter extends UsernamePasswordAuthenticationFilter {
@@ -87,7 +87,7 @@ protected void successfulAuthentication(HttpServletRequest request, HttpServletR
8787
if (status.equals(PENDING.name())) {
8888
log.warn("PENDING 상태인 경우 로그인이 불가능합니다");
8989
// X-Refresh-Token
90-
String refreshToken = jwtProvider.generateToken(TOKEN_CATEGORY_REFRESH, Duration.ofHours(24), publicId, auth.getAuthority(), status);
90+
String refreshToken = jwtProvider.generateToken(TOKEN_CATEGORY_REFRESH, Duration.ofMinutes(5), publicId, auth.getAuthority(), status);
9191
String cookieValue = URLEncoder.encode(TOKEN_PREFIX + refreshToken, StandardCharsets.UTF_8);
9292

9393
response.addCookie(createCookie(REFRESH_TOKEN_KEY, cookieValue, TOKEN_REISSUE_PATH, 5 * 60, true));
@@ -109,7 +109,7 @@ protected void successfulAuthentication(HttpServletRequest request, HttpServletR
109109
// Authorization
110110
String accessToken = jwtProvider.generateToken(TOKEN_CATEGORY_ACCESS, Duration.ofMinutes(10), publicId, role, status);
111111
// X-Refresh-Token
112-
String refreshToken = jwtProvider.generateToken(TOKEN_CATEGORY_REFRESH, Duration.ofHours(24), publicId, role, status);
112+
String refreshToken = jwtProvider.generateToken(TOKEN_CATEGORY_REFRESH, Duration.ofDays(1), publicId, role, status);
113113
// URLEncoder.encode: 공백을 %2B 로 처리
114114
String cookieValue = URLEncoder.encode(TOKEN_PREFIX + refreshToken, StandardCharsets.UTF_8);
115115

0 commit comments

Comments
 (0)