Skip to content

docs(refresh-token): 현행 rt_rotate 상태 기계 §12 추가 — v1 원안과의 차이 명시 - #213

Merged
seizeh merged 1 commit into
mainfrom
docs/refresh-token-state-machine
Sep 29, 2026
Merged

seizeh merged 1 commit into
mainfrom
docs/refresh-token-state-machine

Conversation

@seizeh

@seizeh seizeh commented Sep 29, 2026

Copy link
Copy Markdown
Owner

무엇이

docs/refresh-token-flow-design.md 는 v1 설계 기록(2026-07-01)이라 이후 진화가 빠져 있었다:

  • recovered 상태 부재 — 원안은 "grace 초과 재사용 = 무조건 탈취 → family 회수"지만, 현행은 후속 토큰이 미사용이면 응답 유실 재시도로 판정해 복구한다(rtrec:<family_id> 5회/일 캡)
  • 20260810093000 판정 순서 미반영 — family 회수 흔적(replaced_by 없는 revoked, 또는 후속이 그렇게 죽음)이 있으면 grace 창 자체가 안 열린다(로그아웃 직후 grace 로 세션 부활하던 결함 수정)

어떻게

  • 원안(§4 의사코드·§10 체크리스트)은 기록으로 보존, 낡은 서술 3곳에 §12 포인터만
  • §12 신설: 일곱 결과 표 · 판정 순서(핵심: replaced_by 와 후속 상태로 "회전사/회수사" 구분) · v1 원안과의 차이표 · 엣지 매핑(rotated/grace/recovered → 새 쌍, 나머지 → 단일 invalid_refresh 401)
  • 내용은 스냅샷의 rt_rotate 현행 정의 기준(인증인가 설계서 §3.4 와 일치)

문서만 변경 — 코드·스키마 무변경.

🤖 Generated with Claude Code

v1 설계 기록(2026-07-01)이 이후 진화를 담지 못하고 있었다: recovered
분기(응답 유실의 grace 초과 복구, rtrec 5회/일)와 20260810093000 판정
순서(family 회수 흔적이 있으면 grace 창 자체가 안 열림 — 로그아웃 grace
부활 결함 수정)가 §4 의사코드와 다르다. 원안은 그대로 보존하고 §12 에
현행 일곱 결과(invalid/inactive/expired/rotated/grace/recovered/
reuse_revoked)·판정 순서·원안과의 차이표를 추가, 낡은 서술 3곳(헤더
상태·§4 grace 주석·§10 체크리스트)에 포인터를 달았다.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@seizeh
seizeh merged commit cf1adad into main Sep 29, 2026
3 checks passed
@seizeh
seizeh deleted the docs/refresh-token-state-machine branch September 29, 2026 05:21
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