요청: wallet-connect-결함수정
- 날짜: 2026-06-21 16:38:50
- 작업 경로: /Users/ef
요청 본문
지갑 결함 수정: 1.[MED] verifyJWT GET /api/verify → POST /api/auth/verify {token} 정정. 2.[MED] needsStepUp auth_time 폴백 now-9999 매직넘버 제거, 검증서버 반환값만 신뢰, 없거나 검증불가=step-up 강제. 동반 지갑연결.한선도 반영 후 재컴파일.
관련 산출
(클로드가 작업 결과를 이어 기록)
완료 결과 (2026-06-21)
수정 파일
/Users/ef/crowny-ai/engine/wallet-connect.js/Users/ef/crowny-ai/지갑연결.한선
Fix 1: verifyJWT 경로/메서드 정정
- 이전:
GET /api/verify+Authorization: Bearer <token>헤더 - 이후:
POST /api/auth/verify+ body{ token }— SSO 모듈(auth:9401) 일치 innerPost()헬퍼 추가(JSON body, Content-Length 정확히 계산)data.valid필드 검증 추가 (이전에는 error 없으면 통과)
Fix 2: needsStepUp auth_time 신뢰 경계 강화
- 이전: 미검증 user.iat, 매직넘버 폴백(
now-9999) 사용 → 비서명 auth_time 신뢰 - 이후: verifyJWT가 서버 반환 data.auth_time 또는 data.iat만 추출, 없으면
null needsStepUp(null)→return true(fail-closed, step-up 강제)- 미검증 user 객체 iat 절대 불사용
한선씨 동반 컴파일 결과
EXIT:0 — 전체 테스트 통과
step-up 필요(경과400초): 1
step-up 불필요(경과100초): 0
step-up 강제(auth_time없음,-1): 1
잔여 이슈
needsStepUp내data.iat는 검증서버가 JWT 클레임을 재반환한 것이므로 서명 검증 완료.
auth_time/iat 중 어느 필드를 쓰는지 확인 권장.