Files
Gnuboard7/plugins/_bundled/sirsoft-verification_nhnkcp/docs/frontend.md
T
HeuJung 482faf00be chore(release): 7.0.10 출시일 정렬 + 공개 배포본 누출 정정
7.0.9 페이로드 대비 버전이 오른 패키지 31종과 코어의 CHANGELOG 최상단 절
날짜를 2026-09-04 로 맞췄다.

이어서 릴리즈 스크립트의 게이트를 브랜치 생성 없이 전수 실행한 결과, 파일
본문 누출 검사가 error 25건으로 릴리즈를 막고 있었다. 전부 이번 사이클에
들어온 것이다.

- 확장 문서·코어 주석 20건이 공개 배포본에 없는 를 가리켰다.
 공개되는 AGENTS.md 참조로 바꾸고, 참조된 9개 절의 실재를 전수 확인했다.
 유일하게 빠져 있던 「독립 레이아웃의 글로벌 호스트 컴포넌트」절은 원래
 동기화 대상이었으므로 AGENTS.md 에 반영했다.
- 시나리오 매니페스트의 내부 문서 포인터는 소비자가 하나도 없어 제거했다.
- 공개 테스트 3건이 내부 검사 스크립트를 열어 도구 간 리터럴을 대조하고
 있었다. tests/** 는 배포 페이로드에 포함되고 는 제외되므로
 배포본에서 원리상 성립할 수 없는 검사다. 대조를 그 도구 옆으로 옮기고
 공개 테스트에는 자기 동작 단언만 남겼다. 존재 가드로 무마하지 않은 것은
 그 경우 배포본에서 검사가 조용히 건너뛰어져 "검사하지 않음" 과 "통과" 가
 구분되지 않기 때문이다.

옮긴 대조는 돌지 않으면 잠그지 못하므로 대상 파일 편집 시 자동 실행되도록
등록했다. 누출 검사 자체도 릴리즈 시점에만 돌아 위반이 다음 릴리즈까지
드러나지 않았으므로, 룰을 복제하지 않고 실행 시점만 세션 종료로 앞당겼다.

같은 검증 중 드러난 선행 결함 하나(이커머스 문서의 집계 블록 드리프트)도
함께 정리했다.
2026-09-04 12:18:22 +09:00

3.6 KiB

NHN KCP 휴대폰 본인확인 — 프론트엔드

레이아웃·액션 핸들러·전역 진입점·에셋 · 진입점: AGENTS.md

레이아웃

레이아웃 1개 (루트: resources/layouts).

그룹 개수
admin 1개
레이아웃 그룹 종류 extends
plugin_settings admin 화면 _admin_base

sirsoft-verification_kginicis와 마찬가지로 이 플러그인이 소유한 화면 레이아웃은 관리자 설정 화면 하나뿐입니다 — 회원가입·마이페이지의 본인확인 UI는 §레이아웃 확장 조각 및 코어 IDV 공통 팝업 UI로 존재합니다.

액션 핸들러

핸들러 1개 (정의: resources/js/index.ts).

핸들러 레이아웃에서 부르는 이름
startAuth sirsoft-verification_nhnkcp.startAuth

startAuth는 isMobileEnvironment()로 기기를 판별해 데스크톱에서는 sirsoft-verification_kginicis와 같은 팝업 패턴(사용자 클릭 컨텍스트 안에서 window.open)을, 모바일에서는 sessionStorage(g7.identity.redirectStash)에 복귀 정보를 저장한 뒤 전체 페이지 리다이렉트를 씁니다. 반드시 클릭 이벤트 핸들러 안에서 호출돼야 팝업 차단을 피할 수 있다는 제약은 데스크톱 경로에만 해당합니다 — 모바일 리다이렉트는 팝업 차단과 무관합니다.

전역 진입점

항목 값
엔트리 파일 resources/js/index.ts
전역 객체 window.__SirsoftVerificationNhnkcp
재등록 진입점 initPlugin()

로케일 전환 시 코어가 이 진입점을 호출해 핸들러를 다시 등록합니다. 진입점은 핸들러 재등록만 수행하고 1회성 부팅 작업을 포함하지 않습니다.

window.__SirsoftVerificationNhnkcp로 노출되는 이유는 코어가 로케일 전환 시 이 이름으로 재등록 진입점을 찾기 때문입니다(§코어 AGENTS.md "재등록 진입점"). sirsoft-verification_kginicis와 마찬가지로 이 플러그인은 결제창 SDK 를 동적 로드하지 않습니다 — 인증 화면 자체가 서버 렌더링 페이지(팝업 안) 또는 리다이렉트 대상(모바일)이므로 프론트가 별도 스크립트를 불러올 필요가 없습니다.

에셋

경로 구분
dist/js/plugin.iife.js 빌드 산출물 (커밋 대상)
editor-spec.json 레이아웃 편집기 스펙 (manifest)

로딩 설정: {"strategy":"global","priority":100,"dependencies":[]}

제3자 SDK 스크립트가 목록에 없는 이유는 §전역 진입점과 동일합니다 — 인증 화면은 팝업 안의 서버 렌더링 페이지이거나 모바일 리다이렉트 대상이라 프론트가 동적 로드할 자산이 없습니다. CSS 산출물이 없는 것은 UI가 버튼·상태 카드 같은 최소한의 코어 컴포넌트로만 구성되기 때문입니다.