Skip to content

Commit 0402f39

Browse files
윤혁준윤혁준
authored andcommitted
docs(resume): JWT 서명 전환 이력 추가
1 parent 78f2232 commit 0402f39

1 file changed

Lines changed: 17 additions & 3 deletions

File tree

‎src/data/resume.ts‎

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ export const COMPANIES: Company[] = [
6767
highlights: [
6868
"결제·인증·수업·온보딩을 잇는 **핵심 사용자 흐름 재설계**",
6969
"레거시 PHP 결제·인증 기능을 Java/Spring으로 이관하고 **PHP 운영 의존성 제거**",
70+
"JWT 서명 구조를 RS256/JWKS/KMS 기반으로 전환해 **서명 권한과 검증 권한 분리**",
7071
"AI 진단 파이프라인으로 **CS 인입 98% 감소**, 멀티채널 알림서버로 **중복 발송률 0% 달성**",
7172
"쿠폰·구독·레슨권 도메인을 메타/세그먼트 기반으로 정비해 **운영 자동화와 상품 확장성 확보**",
7273
"Facade 계층·공통 응답/에러 규칙을 정립해 **도메인 변경 범위와 협업 비용 축소**",
@@ -78,7 +79,7 @@ export const COMPANIES: Company[] = [
7879
{ slug: "notification-server", name: "멀티채널 알림서버 신규 구축", period: "2025.06 — 2025.10", summary: "4채널 통합 독립 알림서버 0→1 구축, 중복 발송률 0%" },
7980
{ slug: "personalization-system", name: "사용자 데이터 기반 개인화 시스템 구축", period: "2025.01 — 2026.01", summary: "세그멘테이션 기반 차등 쿠폰·해지방어 시스템" },
8081
{ slug: "onboarding-trial-flow", name: "온보딩 및 체험레슨 예약 플로우 고도화", period: "2026.04 — 2026.05", summary: "첫 수업 예약·예습·입장 상태 정합성 개선" },
81-
{ slug: "auth-refactoring", name: "인증 시스템 리팩토링 및 레거시 전환", period: "2024.09 — 2025.05", summary: "PHP 세션→JWT 기반 인증 전면 재설계" },
82+
{ slug: "auth-refactoring", name: "인증 시스템 리팩토링 및 레거시 전환", period: "2024.09 — 2026.04", summary: "JWT 인증 전환, RS256/JWKS/KMS 서명 구조 개선" },
8283
{ slug: "dev-process", name: "개발 프로세스 개선", period: "2024.09 — 2026.02", summary: "Facade 패턴 도입, 응답/에러 공통화, 메타 기반 도메인 재설계" },
8384
{ slug: "infra-modernization", name: "서비스 인프라 현대화 및 보안 체계 구축", period: "2025.10 — 2026.01", summary: "ECS→EKS 마이그레이션, WAF·GitOps 구축" },
8485
],
@@ -263,12 +264,21 @@ export const PROJECTS: ProjectDetail[] = [
263264
slug: "auth-refactoring",
264265
company: "주식회사 데이원컴퍼니",
265266
name: "인증 시스템 리팩토링 및 레거시 전환",
266-
period: "2024.09 — 2025.05",
267-
tech: ["Java", "Spring Boot", "Spring OAuth2", "JWT", "Redis"],
267+
period: "2024.09 — 2026.04",
268+
tech: ["Java", "Spring Boot", "Spring OAuth2", "JWT", "JWKS", "GCP KMS", "Redis"],
269+
relatedPosts: ["auth-authorize-callback-flow", "auth-token-verification-migration", "jwt-hs256-to-rs256-jwks-kms"],
268270
tasks: [
269271
{
270272
content: "PHP 세션과 프론트엔드 토큰 발급 구조를 **JWT 기반 서버사이드 인증**으로 재설계하고 Refresh Token Rotation 적용",
271273
},
274+
{
275+
content: "JWT 서명 방식을 HS256에서 RS256/JWKS 기반 구조로 전환하고, GCP KMS 서명과 `kid` 기반 key rotation 흐름 설계",
276+
details: [
277+
"검증 서비스에는 공개키만 배포하고, 서명 권한은 인증 서버와 KMS 권한으로 제한",
278+
"기존 HS256 토큰을 일정 기간 허용하는 legacy decoder를 두어 무중단 전환 경로 마련",
279+
"JWKS cache TTL과 access token 만료 시간을 고려해 key rotation 순서 정리",
280+
],
281+
},
272282
{
273283
content: "인증·사용자 관리·API 라우팅 등 PHP 레거시 기능을 Java로 이관해 PHP/Java 이중 운영 해소",
274284
},
@@ -284,6 +294,10 @@ export const PROJECTS: ProjectDetail[] = [
284294
],
285295
},
286296
],
297+
achievements: [
298+
"프론트엔드·PHP에 흩어진 인증 책임을 Java/Spring 기반 인증 서버로 정리",
299+
"JWT 서명·검증 책임을 분리해 여러 서비스가 공개키 기반으로 토큰을 검증할 수 있는 구조 마련",
300+
],
287301
},
288302
{
289303
slug: "dev-process",

0 commit comments

Comments
 (0)