Skip to content

fix(core): 패스키 검증 실패 401(2701)이 토큰 만료로 처리되어 챌린지 무효(2700)로 가려진다 #2287

Open

Description

@OnlyReadOneBook

작업 유형

bug — 버그·오동작

주 담당 모듈

core — 코어

개요

패스키 등록에서 서버가 검증 실패(HTTP 401, code 2701)를 돌려주면 앱은 그 응답을 액세스 토큰 만료로 보고 재발급 뒤 같은 본문을 다시 보낸다. 서버는 첫 요청에서 이미 챌린지를 소비했으므로 두 번째 요청은 HTTP 400, code 2700(챌린지 만료·무효)으로 끝난다. 화면과 로그에는 2700 만 남고 실제 거절 사유인 2701 은 사라진다.

근거

부수 효과로 필요 없는 재발급이 일어나 리프레시 토큰이 한 번 회전한다.

완료 조건

  • Bearer 요청의 401 응답 본문 code 가 2701 이면 재발급·재시도·세션 정리 없이 원래 응답을 호출부에 넘긴다. 1202 의 기존 처리와 같은 판별 경로를 쓴다.
  • 토큰 거절 1000, 미확인 코드, 본문 없음·파싱 불가 401 은 지금처럼 재발급 경로를 탄다.
  • TokenAuthenticatorTest 에서 2701 을 갱신 경로 예시에서 빼고, 업무 오류 쪽 단언(재발급 0회, clearSession() 0회, 원래 본문 보존)에 넣는다.

자식 이슈

참고


Generated by Claude Code

Activity

  1. added
    bugSomething isn't working
    area:core공용 코어·네트워크 기능 영역
    on Oct 7, 2026
  2. github-actions commented on Oct 7, 2026

    @github-actions
    Contributor

    bug 이슈는 사이드바 Fields > Priority 로 심각도를 지정해야 합니다. 판정 기준:

    • Urgent: 치명 — 크래시·데이터 소실·보안 무력화·핵심 경로 차단·가짜 성공
    • High: 심각 — 실패·틀린 값의 정상 위장, 핵심 기능 무동작
    • Medium: 불편 — 우회로가 있는 오동작·틀린 표시, 핵심 흐름은 유지
    • Low: 경미 — 문구·정렬·마감 품질 흠, 기능 영향 없음

    값이 비어 있어도 이슈를 닫지는 않습니다. 이 안내는 이슈당 한 번만 답니다.

  3. added
    pr-open이 이슈를 구현하는 PR 이 열려 있다 — base 가 기본 브랜치가 아니어도 드러낸다
    on Oct 7, 2026
  4. removed
    pr-open이 이슈를 구현하는 PR 이 열려 있다 — base 가 기본 브랜치가 아니어도 드러낸다
    on Oct 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

area:core공용 코어·네트워크 기능 영역bugSomething isn't working

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions