← 목록
기타 2026-07-30 3KB 읽기 4분

DEX(:9402) 크라우니 통합인증 IdP 연동

개요

크라우니 통합인증 IdP(메일 정본, SSOT /Users/ef/crowny-mail/docs/크라우니-통합인증-IdP스펙.md §4-3)를 DEX서버.한선(:9402)에 오프라인 검증 방식(A)으로 연동. 참조구현은 클라우드관리.한선의 CM_IdP시크릿초기화/CM_IdP서명/CM_IdP세션버전/CM_IdP검증/CM_인증확정이중 — 동형으로 이식.

무엇을 했는지

  • 인증게이트(유저,토큰)에 DEX 자체 불투명토큰(토큰소유자) 우선 조회 → 실패 시 DEX_IdP검증 폴백 추가.
  • 신규 함수(접두 DEX_): DEX_IdP시크릿초기화 DEX_IdP서명 DEX_IdP세션버전 DEX_아이디검증 DEX_IdP검증.
  • 봉투 MAC: SHA256(시크릿+"|"+id+"|"+exp+"|"+ver+"|"+시크릿), 시크릿=/Users/ef/crowny-data/auth/.idp-secret 앞 64자,
부팅 1회 로드 후 전역 DEX_IdP시크릿에 캐시(요청마다 파일 재읽기 없음).
  • kps는 DEX 자체 계정과 별도 매핑 없이 아이디 문자열 동일성으로 그대로 재사용(IdP가 검증한 id="kps"가
곧 DEX 라우트 파라미터 유저="kps"와 일치해야 통과).
  • 쓰기 API(swap/loan/repay/p2p/orders)의 value_note·쿨다운 등 기존 로직은 무변경 — 인증게이트 앞단만 확장.

함정/이슈

  • hanseonc_high: 전역변수는 함수 정의 이전 지점에서 top-level 변수 X = ""로 먼저 선언해야
함수 내부에서 forward-reference 가능(클라우드 패턴과 동일 — CM_시크릿도 상단 선언 후 하단에서 재할당). 최초 변수 DEX_IdP시크릿 = DEX_IdP시크릿초기화()를 하단에 바로 쓰면 "미정의 변수" 컴파일 에러.
  • DEX서버.한선에는 가져오기 "문자열.한선"이 없어 분리() 미정의 — 세션버전.psv 파싱은 자격불러오기()
동일한 수동 줄단위 파서로 작성(내장 분리 대신).

관련 파일

  • /Users/ef/crowny-dex/DEX서버.한선 (수정, 백업 .bak-IdP연동-20260730)
  • /tmp/dex.toau (컴파일 산출물, 현재 :9402 가동 프로세스가 사용)
  • 참조: /Users/ef/crowny-services/클라우드관리.한선 (CM_IdP* 원본)
  • SSOT: /Users/ef/crowny-mail/docs/크라우니-통합인증-IdP스펙.md

컴파일

cd /Users/ef/CrownyOS/crownyc
./hanseonc_high /Users/ef/crowny-dex/DEX서버.한선 > /tmp/dex.toau 2>/dev/null
STRICT 경고 0.

검증 (전부 실측)

#항목결과
1메일 로그인 → idpToken 발급200, idpToken 필드 획득 (예: kps.1786005396.2.c2244...)
2IdP 토큰으로 DEX 인증필요 라우트(POST /api/orders/cancel, 존재하지않는 orderId로 비파괴 테스트)200대 인증 통과 → 404(대상 없음, 정상 로직 도달 확인)
3위조 sig 토큰401
4무토큰401
5회귀: DEX 자체 POST /api/register 신규 계정 생성 + 자체 토큰으로 동일 보호 라우트200 (등록) → 200대 인증통과(자체 토큰 fallback 정상, 404 not-found 도달)
GET /api/orders는 원래 무인증(원래 무인증 라우트 — 항목4 해당 없음, 200 확인만 참고).

잔여 이슈

  • 트레이딩/트레이더(:7740/:7741), 넥서스(:9805), 텔레(:9619), 집사회(:9772), 메신저(:9939), ERP/견적은 스펙 §4 순서상
DEX 다음 단계 — 미착수.
  • DEX 쓰기 API(swap/loan/repay/p2p) 자체는 이번 작업에서 로직 변경 없음(인증 앞단만 확장) — 별도 IdP 경유
실거래 검증(예산 소모 있는 항목)은 미실시.