← 목록
기타 2026-07-17 2KB 읽기 2분

nexus 편집자 인증 연동 (자기신고 → 계정)

개요

규칙 변경 편집자를 자기신고(텍스트)에서 계정 인증(scrypt·토큰)으로 전환. SAP대비 분석 G3(편집자인증無) 갭 해소.

무엇을 했는지

경량 계정 인증(감사서버.js)

  • scrypt 해싱(crypto.scryptSync 32바이트)+salt(16바이트 랜덤)+timingSafeEqual 비교. data/편집자.json.
  • 세션 토큰(crypto.randomBytes 24바이트)→메모리맵 token→username(재기동 시 재로그인).
  • 유효아이디 검증(2~20자 영숫자한글_), 비번 4자+.
  • 엔드포인트: POST /api/auth/register, /api/auth/login → {ok,token,username}.

저장·롤백 편집자 표기

  • 편집자표기(토큰,자기신고): 토큰 유효→계정명 "(인증)", 없으면 자기신고 "(비인증)".
  • ★토큰의 계정명 우선(자기신고 편집자 무시)=사칭 차단. 비인증도 기록하되 마킹(감사 무결성).

UI

  • 로그인 폼(아이디·비번·로그인·가입), 로그인 시 편집자 입력 잠금+계정명 표시, 상태 표시.
  • saveRules/rollback이 인증토큰 전달.

한선씨 우선 예외

인증(scrypt·토큰·salt)은 보안 인프라라 Node crypto가 정석(한선씨 SHA256보다 안전). 판정 로직(4상/규칙)이 아니라 암호+세션이므로 한선씨 정본 대상 아님. 감사서버는 이미 순수 오케스트레이션 JS.

검증(실측)

  • 가입→토큰, 중복 가입 차단("이미 존재"), 틀린 비번 거부("불일치").
  • 사칭(편집자"사칭"+유효토큰)→"김철수 (인증)"(토큰 우선), 비인증→"익명이 (비인증)".
  • UI 인증요소 마운트, 넥서스 5도메인 회귀·감사서버 200 무변경. 테스트 계정/이력 정리.

관련 파일

  • 감사서버.js (인증 모듈·엔드포인트·편집자표기·UI 로그인)
  • data/편집자.json (런타임 생성, {username:{salt,hash}})

잔여 이슈

  • 세션 메모리(재기동 시 재로그인) — 지속 토큰(파일/JWT)은 후보.
  • 규칙표별 편집 권한(RBAC) 없음 — 로그인=전 규칙표 편집 가능. 승인권자 해석(erp 권한검증.한선)과 연동 후보.