Skip to content

release: SEC-05 refresh 회전 유예 (#371) - #374

Merged
selee1012 merged 2 commits into
mainfrom
dev
Oct 29, 2026
Merged

selee1012 merged 2 commits into
mainfrom
dev

Conversation

@selee1012

Copy link
Copy Markdown
Contributor

포함

배포 영향

  • 마이그레이션 없음, API 응답 형식 동일
  • 회전 후 30초 안의 직전 RT 재제출만 새 페어 발급(후속 토큰이 모두 살아 있을 때만). 그 밖의 재사용은 기존대로 family 폐기
  • 확인 로그: refresh_rotation_grace

후속: Android #642 [P1] single-flight, Backend #373 [P3] 유예 유지·축소 결정

🤖 Generated with Claude Code

selee1012 and others added 2 commits October 29, 2026 12:08
prod SEC-05 3건(10/28 17:09, 10/29 09:23·11:08 KST)이 모두 같은 모양이었다. 앱을 열면 만료된 AT 로
요청 여러 개가 401 을 받고, refresh 가 한 번 성공한 뒤 3~8초 뒤에 직전 RT 로 refresh 가 한 번 더 왔다.
서버는 이를 탈취로 보고 family 전체를 폐기해 사용자를 로그아웃시켰다.

회전으로 폐기된 지 30초 안이고 그 회전이 만든 후속 토큰이 모두 살아 있으면 같은 family 에 새 페어를 하나 더 준다.
로그아웃·새 기기 로그인·정지·탈퇴(후속까지 폐기), 후속이 다시 회전된 경우, 30초가 지난 경우는 기존대로 재사용 감지다.
유예는 SEC-05 로 세지 않고 refresh_rotation_grace 로그로 남긴다. 앱 single-flight 는 Android 이슈로 따로 둔다.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
fix(auth): 회전 직후 직전 refresh 토큰 재제출은 세션을 끊지 않는다 (SEC-05)
@github-actions

Copy link
Copy Markdown

Test Coverage

Overall Project 83.61% -0.01% 🍏
Files changed 91.57% 🍏

File Coverage
AuthService.java 78.78% -0.45% 🍏
AuthController.java 71.43% 🍏

@selee1012
selee1012 merged commit 3335b32 into main Oct 29, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant