--- kind: CONCEPT slug: adapter-inbound-graphql-c11 title: 키를 요구하는 코드는 둘이고 서명하는 코드는 없다 topic: schema-and-wire-models project: clean-architecture-backend-template status: 게시 전 sourceRevision: 21234e38cdb9a926cbc92bb97a2aee2e4a7d2916 rootTreeNode: concept:adapter-inbound-graphql-c11 evidenceCapturedOn: 2026-09-01 assets: - key: adapter-inbound-graphql-c11 file: ../../../final/evidence/rendered/adapter-inbound-graphql-c11.svg evidence: - ../../../final/evidence/raw/adapter-inbound-graphql-c11.txt source: - 원본 분석 절은 analysis/16-adapter-inbound-graphql.md#L725 이다. module: adapter-inbound-graphql --- # 키를 요구하는 코드는 둘이고 서명하는 코드는 없다 `backend.graphql.cursor.key-ids`를 읽는 프로덕션 코드는 시작 검증기와 액추에이터 둘이다. 그 키로 커서에 서명하는 코드는 없다. ## 본문 `backend.graphql.cursor.key-ids`를 읽는 프로덕션 코드는 둘이다. ```text autoconfigure/GraphQlPlatformStartupValidator.java:42-43 if (properties.production() && properties.cursor().keyIds().isEmpty()) { problems.add("a cursor signing key is required; unsigned cursors are client-editable"); autoconfigure/GraphQlPlatformActuatorEndpoint.java (보고서에 포함) ``` ## HmacGraphQlCursorCodec 참조 위치 :::evidence key="adapter-inbound-graphql-c11" alt="코드베이스에서 HmacGraphQlCursorCodec 를 검색한 출력 16줄. 이 기록이 세는 참조가 그 출력에 그대로 보인다." caption="HmacGraphQlCursorCodec 코드베이스 검색 — 16줄 · exit 0" zoom="true" ::: ## 서명하는 코드가 없다 `HmacGraphQlCursorCodec`과 `GraphQlCursorKeyRing`은 autoconf=0 · main_other=0이다.