Skip to content

Conversation

@junggyo1020
Copy link
Contributor

๐Ÿ“„ Work Description

  • [๐Ÿ”€ merge] [4์ฐจ] ์ฝ”๋“œ ๋ฆฌํŽ™ํ† ๋ง ์‚ฌํ•ญ์„ ๋ฉ”์ธ ์„œ๋ฒ„์— ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

junggyo1020 and others added 30 commits January 19, 2025 02:48
[๐Ÿ”ฅ !hotfix] [3์ฐจ] ์Šคํ…Œ์ด์ง• ์„œ๋ฒ„ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์ง„ํ–‰
- `org.terning.terningserver.jwt` โ†’ `org.terning.terningserver.auth.jwt`๋กœ ๋ณ€๊ฒฝ
- ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ์ •๋ฆฌ๋กœ ๊ฐ€๋…์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜์„ฑ ํ–ฅ์ƒ
- `AppleServiceImpl`์„ `AppleAuthTokenValidator`๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ ์ฑ…์ž„ ๋ถ„๋ฆฌ
- `@Service` ๋Œ€์‹  `@Component`๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—ญํ•  ๋ช…ํ™•ํ™”
- ํŒจํ‚ค์ง€ ๊ฒฝ๋กœ๋ฅผ `org.terning.terningserver.auth.application.social.apple`๋กœ ์ด๋™
- Apple ๊ณต๊ฐœ ํ‚ค ์กฐํšŒ ๋ฐ ๊ฒ€์ฆ ๋กœ์ง์„ `AppleAuthTokenValidator`์—์„œ ์ฒ˜๋ฆฌํ•˜๋„๋ก ์ˆ˜์ •
- `ValueConfig` ํ™œ์šฉํ•˜์—ฌ ์„ค์ •๊ฐ’์„ ์ผ๊ด€๋˜๊ฒŒ ์ ์šฉ
- `org.terning.terningserver.controller.AuthController` โ†’ `org.terning.terningserver.auth.api.AuthController`๋กœ ์ด๋™
- `AuthService` ํŒจํ‚ค์ง€ ๊ฒฝ๋กœ ๋ณ€๊ฒฝ์— ๋”ฐ๋ผ import ์ˆ˜์ •
- `signIn` ๋ฉ”์„œ๋“œ์—์„œ ํ† ํฐ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ๋กœ์ง ์ถ”๊ฐ€
- `sign-up/filter` ์š”์ฒญ ์ฒ˜๋ฆฌ ๋ฐฉ์‹ ๋ณ€๊ฒฝ (`registerUserFilter`๋กœ ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝ ๋ฐ ๋‚ด๋ถ€ ๋กœ์ง ์ˆ˜์ •)
- ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ์ •๋ฆฌ๋กœ ๊ฐ€๋…์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜์„ฑ ํ–ฅ์ƒ
- `org.terning.terningserver.service.AuthService`๋ฅผ `org.terning.terningserver.auth.application.AuthService`๋กœ ์ด๋™
- ๊ธฐ์กด `AuthService` ์ธํ„ฐํŽ˜์ด์Šค ์ œ๊ฑฐ ๋ฐ ๊ตฌํ˜„์ฒด๋กœ ํ†ตํ•ฉ
- `AuthSignInService`, `AuthSignUpService`, `AuthSignOutService`, `AuthWithdrawService`, `AuthReissueService`๋ฅผ ์ฃผ์ž…ํ•˜์—ฌ ์—ญํ•  ๋ถ„๋ฆฌ
- `registerFilterWithUser` ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€ (`createAndSaveFilter` ๋ฐ `connectFilterToUser` ํ†ตํ•ฉ)
- `@Transactional(readOnly = true)` ์ ์šฉํ•˜์—ฌ ์ฝ๊ธฐ ์ž‘์—… ์ตœ์ ํ™”
- ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ์ •๋ฆฌ๋กœ ์œ ์ง€๋ณด์ˆ˜์„ฑ ๋ฐ ์ฝ”๋“œ ๊ฐ€๋…์„ฑ ํ–ฅ์ƒ
- `KakaoServiceImpl` โ†’ `KakaoAuthTokenValidator`๋กœ ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ
- ํŒจํ‚ค์ง€๋ฅผ `org.terning.terningserver.auth.application.social.kakao`๋กœ ์ด๋™
- `@Service` ๋Œ€์‹  `@Component`๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—ญํ•  ๋ช…ํ™•ํ™”
- `getKakaoData` โ†’ `extractKakaoId`๋กœ ๋ฉ”์„œ๋“œ๋ช… ๋ณ€๊ฒฝํ•˜์—ฌ ์˜๋ฏธ ๋ช…ํ™•ํ™”
- `Authorization` ํ—ค๋”์— `Bearer ` ์ ‘๋‘์–ด ์ถ”๊ฐ€
- ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ์ •๋ฆฌ ๋ฐ ์—ญํ•  ๋ถ„๋ฆฌ๋ฅผ ํ†ตํ•ด ์œ ์ง€๋ณด์ˆ˜์„ฑ ํ–ฅ์ƒ
- `AppleService` ๋ฐ `KakaoService` ์ธํ„ฐํŽ˜์ด์Šค ์ œ๊ฑฐ
- `SocialAuthServiceManager` ํด๋ž˜์Šค ์ถ”๊ฐ€ํ•˜์—ฌ ์†Œ์…œ ์ธ์ฆ ์„œ๋น„์Šค ๊ด€๋ฆฌ ์—ญํ•  ์ˆ˜ํ–‰
- `SocialAuthProvider` ๊ธฐ๋ฐ˜์œผ๋กœ `AuthType`์— ๋”ฐ๋ฅธ ์ ์ ˆํ•œ ์ธ์ฆ ์„œ๋น„์Šค ์ œ๊ณต
- `create` ์ •์  ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด `SocialAuthProvider` ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งคํ•‘ํ•˜์—ฌ ์ดˆ๊ธฐํ™”
- ์ง€์›๋˜์ง€ ์•Š๋Š” ์†Œ์…œ ๋กœ๊ทธ์ธ ํƒ€์ž… ์ฒ˜๋ฆฌ ๋กœ์ง ์ถ”๊ฐ€
- ์ธ์ฆ ์„œ๋น„์Šค ๊ตฌ์กฐ ์ •๋ฆฌ๋ฅผ ํ†ตํ•ด ํ™•์žฅ์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜์„ฑ ํ–ฅ์ƒ
- `AuthServiceImpl` ํด๋ž˜์Šค ์ œ๊ฑฐ ๋ฐ ์—ญํ• ๋ณ„ ์„œ๋น„์Šค๋กœ ๋ถ„๋ฆฌ
- `AppleService`, `KakaoService` ์ œ๊ฑฐ ๋ฐ `SocialAuthServiceManager`๋กœ ํ†ตํ•ฉ
- `signIn`, `signUp`, `signOut`, `withdraw`, `reissueToken` ๋ฉ”์„œ๋“œ๋ฅผ ๊ฐœ๋ณ„ ์„œ๋น„์Šค๋กœ ์œ„์ž„
  - `AuthSignInService`, `AuthSignUpService`, `AuthSignOutService`, `AuthWithdrawService`, `AuthReissueService` ์ถ”๊ฐ€
- `getAuthId` ๋ฉ”์„œ๋“œ๋ฅผ `SocialAuthServiceManager`์—์„œ ๊ด€๋ฆฌํ•˜๋„๋ก ๋ณ€๊ฒฝ
- `WebhookService`๋ฅผ ํšŒ์›๊ฐ€์ž… ์‹œ ๋””์Šค์ฝ”๋“œ ์•Œ๋ฆผ ์ „์†กํ•˜๋Š” ์—ญํ• ๋กœ ์œ ์ง€
- ์ฝ”๋“œ ๊ตฌ์กฐ ๊ฐœ์„ ์œผ๋กœ ์œ ์ง€๋ณด์ˆ˜์„ฑ ๋ฐ ํ™•์žฅ์„ฑ ํ–ฅ์ƒ
- ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” `SignUpFilterResponseDto` ์ œ๊ฑฐ
- ์ฝ”๋“œ ์ •๋ฆฌ๋กœ ๋ถˆํ•„์š”ํ•œ ํด๋ž˜์Šค ์ œ๊ฑฐํ•˜์—ฌ ์œ ์ง€๋ณด์ˆ˜์„ฑ ํ–ฅ์ƒ
- `@EventListener`๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ `UserSignedUpEvent` ๋ฐœ์ƒ ์‹œ ์ž๋™์œผ๋กœ ์›นํ›… ์•Œ๋ฆผ ์ „์†ก
- `sendDiscordNotification` ๋ฉ”์„œ๋“œ๋ฅผ `private`์œผ๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ ์บก์Аํ™” ๊ฐ•ํ™”
- ๋ถˆํ•„์š”ํ•œ ๊ฐœํ–‰ ์ œ๊ฑฐ ๋ฐ ์ฝ”๋“œ ์ •๋ฆฌ๋กœ ๊ฐ€๋…์„ฑ ํ–ฅ์ƒ
- `UserSignedUpEvent` ํด๋ž˜์Šค ์ถ”๊ฐ€ํ•˜์—ฌ ํšŒ์›๊ฐ€์ž… ์ด๋ฒคํŠธ ๊ด€๋ฆฌ
- `private` ์ƒ์„ฑ์ž ๋ฐ ์ •์  ํŒฉํ† ๋ฆฌ ๋ฉ”์„œ๋“œ(`of`)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ์ฒด ์ƒ์„ฑ ์ œ์–ด
- ํšŒ์›๊ฐ€์ž… ํ›„ ๊ด€๋ จ ์„œ๋น„์Šค์—์„œ ์ด๋ฒคํŠธ๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„
- `AuthReissueService` ์ธํ„ฐํŽ˜์ด์Šค ์ถ”๊ฐ€ํ•˜์—ฌ ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ ๋กœ์ง ์ถ”์ƒํ™”
- `reissueToken` ๋ฉ”์„œ๋“œ๋ฅผ ์ •์˜ํ•˜์—ฌ ์•ก์„ธ์Šค ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ ๊ธฐ๋Šฅ ์ œ๊ณต
- ์ธ์ฆ ์„œ๋น„์Šค ๊ตฌ์กฐ ๊ฐœ์„ ์„ ์œ„ํ•œ ์ธํ„ฐํŽ˜์ด์Šค ๋ถ„๋ฆฌ
- `AuthReissueService` ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„์ฒด `AuthReissueServiceImpl` ์ถ”๊ฐ€
- `reissueToken` ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์•ก์„ธ์Šค ํ† ํฐ ์žฌ๋ฐœ๊ธ‰
- `JwtTokenProvider`๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ƒˆ๋กœ์šด ์•ก์„ธ์Šค ํ† ํฐ ์ƒ์„ฑ
- ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ๊ฒ€์ฆ ํ›„ ์‚ฌ์šฉ์ž ์กฐํšŒ ๋ฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (`FAILED_TOKEN_REISSUE`)
- ์ธ์ฆ ์„œ๋น„์Šค ๊ตฌ์กฐ ๊ฐœ์„ ์„ ์œ„ํ•ด ์ฑ…์ž„ ๋ถ„๋ฆฌ
- `AuthSignInService` ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„ํ•˜์—ฌ ๋กœ๊ทธ์ธ ๋กœ์ง ์ถ”์ƒํ™”
- `signIn` ๋ฉ”์„œ๋“œ๋ฅผ ์ •์˜ํ•˜์—ฌ ์‚ฌ์šฉ์ž ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ œ๊ณต
- ์ธ์ฆ ์„œ๋น„์Šค ๊ตฌ์กฐ ๊ฐœ์„ ์„ ์œ„ํ•ด ์—ญํ•  ๋ถ„๋ฆฌ
- `AuthSignInService` ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„
- `SocialAuthServiceManager`๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์†Œ์…œ ๋กœ๊ทธ์ธ ์ œ๊ณต์ž๋ฅผ ํ†ตํ•œ `authId` ์ถ”์ถœ
- ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ์กฐํšŒํ•˜์—ฌ ๋กœ๊ทธ์ธ ์ฒ˜๋ฆฌ, ์กด์žฌํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ ์‹ ๊ทœ ์‚ฌ์šฉ์ž ์‘๋‹ต ๋ฐ˜ํ™˜
- `JwtTokenProvider`๋ฅผ ์ด์šฉํ•ด ์•ก์„ธ์Šค ํ† ํฐ ๋ฐ ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ์ƒ์„ฑ
- ์ธ์ฆ ์„œ๋น„์Šค ์—ญํ• ์„ ๋ถ„๋ฆฌํ•˜์—ฌ ์ฝ”๋“œ์˜ ํ™•์žฅ์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜์„ฑ ํ–ฅ์ƒ
- `AuthSignOutService` ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„ํ•˜์—ฌ ๋กœ๊ทธ์•„์›ƒ ๋กœ์ง ์ถ”์ƒํ™”
- `signOut` ๋ฉ”์„œ๋“œ๋ฅผ ์ •์˜ํ•˜์—ฌ ์‚ฌ์šฉ์ž ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ์ œ๊ณต
- ์ธ์ฆ ์„œ๋น„์Šค ๊ตฌ์กฐ ๊ฐœ์„ ์„ ์œ„ํ•ด ์—ญํ•  ๋ถ„๋ฆฌ
- `AuthSignOutService` ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„์ฒด `AuthSignOutServiceImpl` ๊ตฌํ˜„
- `signOut` ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž์˜ ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ์ดˆ๊ธฐํ™”
- ์‚ฌ์šฉ์ž ID๋กœ `UserRepository`์—์„œ ์กฐํšŒ, ์กด์žฌํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ ์˜ˆ์™ธ ๋ฐœ์ƒ (`INVALID_USER`)
- ์ธ์ฆ ์„œ๋น„์Šค ์—ญํ• ์„ ๋ถ„๋ฆฌํ•˜์—ฌ ์ฝ”๋“œ์˜ ์œ ์ง€๋ณด์ˆ˜์„ฑ๊ณผ ํ™•์žฅ์„ฑ ํ–ฅ์ƒ
- `AuthSignUpService` ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„ํ•˜์—ฌ ํšŒ์›๊ฐ€์ž… ๋กœ์ง ์ถ”์ƒํ™”
- `signUp` ๋ฉ”์„œ๋“œ๋ฅผ ์ •์˜ํ•˜์—ฌ ์‚ฌ์šฉ์ž์˜ ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ์ œ๊ณต
- `registerFilterWithUser` ๋ฉ”์„œ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ์‚ฌ์šฉ์ž ํ•„ํ„ฐ ๋“ฑ๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„
- ์ธ์ฆ ์„œ๋น„์Šค ๊ตฌ์กฐ ๊ฐœ์„ ์„ ์œ„ํ•ด ์—ญํ•  ๋ถ„๋ฆฌ
- `AuthSignUpService` ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„์ฒด `AuthSignUpServiceImpl` ๊ตฌํ˜„
- `signUp` ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด ํšŒ์›๊ฐ€์ž… ์ฒ˜๋ฆฌ ๋ฐ ํ† ํฐ ๋ฐœ๊ธ‰
- `registerFilterWithUser` ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž ํ•„ํ„ฐ ๋“ฑ๋ก ๊ธฐ๋Šฅ ๊ตฌํ˜„
- `ApplicationEventPublisher`๋ฅผ ํ™œ์šฉํ•˜์—ฌ `UserSignedUpEvent` ์ด๋ฒคํŠธ ๋ฐœํ–‰
- JWT ํ† ํฐ ์ƒ์„ฑ ๋ฐ ์‚ฌ์šฉ์ž ์ •๋ณด ์ €์žฅ ๋กœ์ง ๋ถ„๋ฆฌํ•˜์—ฌ ์œ ์ง€๋ณด์ˆ˜์„ฑ ํ–ฅ์ƒ
- `SocialAuthProvider` ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„ํ•˜์—ฌ ์• ํ”Œ ๋กœ๊ทธ์ธ ์ฒ˜๋ฆฌ
- `AppleAuthTokenValidator`๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ `authAccessToken`์—์„œ `authId` ์ถ”์ถœ
- `supports` ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด `AuthType.APPLE` ์ง€์› ๋ช…์‹œ
- ์†Œ์…œ ๋กœ๊ทธ์ธ ์„œ๋น„์Šค ๊ตฌ์กฐ ๋ถ„๋ฆฌ๋กœ ์œ ์ง€๋ณด์ˆ˜์„ฑ ๋ฐ ํ™•์žฅ์„ฑ ํ–ฅ์ƒ
- `SocialAuthProvider` ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„ํ•˜์—ฌ ์นด์นด์˜ค ๋กœ๊ทธ์ธ ์ฒ˜๋ฆฌ
- `KakaoAuthTokenValidator`๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ `authAccessToken`์—์„œ `authId` ์ถ”์ถœ
- `supports` ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด `AuthType.KAKAO` ์ง€์› ๋ช…์‹œ
- ์†Œ์…œ ๋กœ๊ทธ์ธ ์„œ๋น„์Šค ๊ตฌ์กฐ ๋ถ„๋ฆฌ๋กœ ์œ ์ง€๋ณด์ˆ˜์„ฑ ๋ฐ ํ™•์žฅ์„ฑ ํ–ฅ์ƒ
- `SocialAuthProvider` ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„ํ•˜์—ฌ ์†Œ์…œ ๋กœ๊ทธ์ธ ๋กœ์ง ์ถ”์ƒํ™”
- `getAuthId` ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด ์ธ์ฆ ํ† ํฐ์—์„œ ์‚ฌ์šฉ์ž ID ์ถ”์ถœ ๊ธฐ๋Šฅ ์ •์˜
- `supports` ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด ์ง€์›ํ•˜๋Š” `AuthType` ๋ฐ˜ํ™˜
- ์†Œ์…œ ๋กœ๊ทธ์ธ ์„œ๋น„์Šค์˜ ํ™•์žฅ์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜์„ฑ์„ ๊ณ ๋ คํ•œ ๊ตฌ์กฐ ์„ค๊ณ„
 `AuthWithdrawService` ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„ํ•˜์—ฌ ํšŒ์› ํƒˆํ‡ด ๋กœ์ง ์ถ”์ƒํ™”
- `withdraw` ๋ฉ”์„œ๋“œ๋ฅผ ์ •์˜ํ•˜์—ฌ ์‚ฌ์šฉ์ž ๊ณ„์ • ์‚ญ์ œ ๊ธฐ๋Šฅ ์ œ๊ณต
- ์ธ์ฆ ์„œ๋น„์Šค ๊ตฌ์กฐ ๊ฐœ์„ ์„ ์œ„ํ•ด ์—ญํ•  ๋ถ„๋ฆฌ
- `AuthWithdrawService` ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„์ฒด `AuthWithdrawServiceImpl` ๊ตฌํ˜„
- `withdraw` ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž ๊ณ„์ • ์‚ญ์ œ ์ฒ˜๋ฆฌ
- `UserRepository`์™€ `UserService`๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž ์‚ญ์ œ ๋กœ์ง ์ฒ˜๋ฆฌ
- ์‚ฌ์šฉ์ž ์กด์žฌํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ ์˜ˆ์™ธ ๋ฐœ์ƒ (`INVALID_USER`)
- ์ธ์ฆ ์„œ๋น„์Šค ์—ญํ• ์„ ๋ถ„๋ฆฌํ•˜์—ฌ ์ฝ”๋“œ์˜ ์œ ์ง€๋ณด์ˆ˜์„ฑ๊ณผ ํ™•์žฅ์„ฑ ํ–ฅ์ƒ
- `SocialAuthServiceManager`๋ฅผ ์ƒ์„ฑํ•˜๋Š” `socialAuthServiceFactory` ๋นˆ ์ •์˜
- `List<SocialAuthProvider>`๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋‹ค์–‘ํ•œ ์†Œ์…œ ์ธ์ฆ ํ”„๋กœ๋ฐ”์ด๋” ์„ค์ •
- ์ธ์ฆ ์„œ๋น„์Šค์˜ ํ™•์žฅ์„ฑ๊ณผ ์œ ์—ฐ์„ฑ ํ–ฅ์ƒ์„ ์œ„ํ•œ ์„ค์ • ์ถ”๊ฐ€
[โ™ป๏ธ refactor/#196] Auth application ๊ณ„์ธต ๊ตฌ์กฐ ๊ฐœ์„ 
JwtTokenProvider ํด๋ž˜์Šค์˜ ์—ญํ• ์„ ๋ถ„๋ฆฌํ•˜์—ฌ JwtTokenIssuer๋ฅผ ๋„์ž…ํ•˜๊ณ ,
JWT ์„œ๋ช… ๋ฐ ํด๋ ˆ์ž„ ์ƒ์„ฑ ์ฑ…์ž„์„ ๋ณ„๋„์˜ ํด๋ž˜์Šค๋กœ ์ด๋™์‹œํ‚ด.
์ด๋กœ ์ธํ•ด JWT ๊ด€๋ จ ๋กœ์ง์ด ๋” ๋ช…ํ™•ํ•˜๊ฒŒ ๋ถ„๋ฆฌ๋˜๊ณ , ์œ ์ง€๋ณด์ˆ˜์„ฑ์ด ํ–ฅ์ƒ๋จ.
๊ธฐ์กด response ์„ค์ • ๋ฐฉ์‹ ๋Œ€์‹  ์˜ˆ์™ธ๋ฅผ ๋˜์ง€๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๋ฅผ ์ผ๊ด€๋˜๊ฒŒ ์œ ์ง€.
JwtException์„ ํ™œ์šฉํ•ด JWT ๊ด€๋ จ ์˜ˆ์™ธ๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ˆ˜์ •.
JWT ๊ฒ€์ฆ ๋ฐ ์‚ฌ์šฉ์ž ์ธ์ฆ ๋กœ์ง์„ ๋ถ„๋ฆฌํ•˜์—ฌ JwtTokenVerifier๋ฅผ ํ™œ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝ.
Optional์„ ์‚ฌ์šฉํ•˜์—ฌ ํ† ํฐ ์ถ”์ถœ ๋ฐ ๊ฒ€์ฆ์„ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•˜๊ณ , ์ธ์ฆ ๊ฐ์ฒด ์ƒ์„ฑ์„ UserDetailsFactory๋กœ ์œ„์ž„ํ•˜์—ฌ ์ฑ…์ž„์„ ๋ช…ํ™•ํžˆ ๋ถ„๋ฆฌํ•จ.
junggyo1020 and others added 24 commits April 19, 2025 23:17
[๐Ÿ”€ merge] [4์ฐจ] ์ฝ”๋“œ ๋ฆฌํŽ™ํ† ๋ง ์‚ฌํ•ญ ์ ์šฉ (4)
- ๋กœ๊น… ๋‚ด์šฉ ์ˆ˜์ • (tracId๋„ ์ฐํžˆ๋„๋ก)
- ๋กœ๊น… ํŒŒ์ผ ๋ณด๊ด€์ผ ์ˆ˜์ • (30์ผ > 14์ผ)
[๐Ÿ”จ fix] Docker ์ปจํ…Œ์ด๋„ˆ ๋กœ๊ทธ๋กœ๋„ ๋กœ๊ทธ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋„๋ก HTTP ์š”์ฒญ/์‘๋‹ต ๋กœ๊น… ์„ค์ • ์ˆ˜์ •
[๐Ÿ”€ merge] HTTP ์š”์ฒญ/์‘๋‹ต ์ˆ˜์ •์‚ฌํ•ญ ๋กœ๊น… ์Šคํ…Œ์ด์ง• ์„œ๋ฒ„ ๋ฐ˜์˜
- ์Šคํฌ๋žฉ ์ทจ์†Œ์‹œ ์œ ์ € ์ทจ์†Œ ๊ถŒํ•œ ์—ฌ๋ถ€๋ฅผ ๋จผ์ € ํ™•์ธ ํ›„ ์Šคํฌ๋žฉ ์ˆ˜๋ฅผ updateํ•˜๋„๋ก ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ ์ˆœ์„œ๋ฅผ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.
- ์Šคํฌ๋žฉ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•˜๊ณ , ์Šคํฌ๋žฉ ์ˆ˜๋ฅผ updateํ•˜๋Š” ๊ฒƒ์ด ๋” ์•ˆ์ „ํ•˜๊ฒŒ ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ์„ ์ง€ํ‚ฌ ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐ๋˜์–ด ์ˆœ์„œ๋ฅผ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค.
- ์‹ค์ œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋Š”์ง€ ์—๋Ÿฌ๋ฉ”์‹œ์ง€๋กœ ๋น„๊ตํ•˜๋Š” ๊ณผ์ • ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
[๐Ÿ”จ fix] ์Šคํฌ๋žฉ ์ถ”๊ฐ€์‹œ, ์Šคํฌ๋žฉ ์ˆ˜์— ๋Œ€ํ•œ ๋™์‹œ์„ฑ ํ…Œ์ŠคํŠธ ์ง„ํ–‰
[feat] ์†Œ์…œ๋กœ๊ทธ์ธ ์‹œ, ์•Œ๋ฆผ์„œ๋ฒ„์™€ ์šด์˜์„œ๋ฒ„์˜ ์œ ์ €๋ฅผ ๋™๊ธฐํ™” ํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€
[โ™ป๏ธ refactor/#237] ๋„๋ฉ”์ธ ๊ธฐ๋ฐ˜ ํด๋”๋ง ๊ตฌ์กฐ๋กœ ๋ณ€๊ฒฝ
[๐Ÿ”€ merge] [4์ฐจ] ์ฝ”๋“œ ๋ฆฌํŽ™ํ† ๋ง ์‚ฌํ•ญ ์Šคํ…Œ์ด์ง• ์„œ๋ฒ„์— ์ ์šฉ (6)
@junggyo1020 junggyo1020 self-assigned this May 11, 2025
@junggyo1020 junggyo1020 added ๐Ÿ”€ merge ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜์™€ ๋ณ‘ํ•ฉ ๐Ÿถ์ •๊ต๐Ÿถ ๐ŸŽ‰deploy CI/CD ๊ด€๋ จ ์ฝ”๋“œ ์ˆ˜์ • ๋ฐ ์ถ”๊ฐ€ labels May 11, 2025
@junggyo1020 junggyo1020 merged commit fc678dc into main May 11, 2025
4 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

๐ŸŽ‰deploy CI/CD ๊ด€๋ จ ์ฝ”๋“œ ์ˆ˜์ • ๋ฐ ์ถ”๊ฐ€ size/XXL ๐Ÿถ์ •๊ต๐Ÿถ ๐Ÿ”€ merge ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜์™€ ๋ณ‘ํ•ฉ

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants