{ "version": "1.1", "id": "messaging-admin-api-c03", "title": "승인 검증이 도는 순서", "question": "승인 검증은 어떤 순서로 도는가?", "type": "dependency", "direction": "LR", "audience": [ "이 저장소의 구조를 읽는 사람" ], "summary": "다이제스트 대조와 윈도우와 서명 파싱을 지나야 HMAC 검증에 닿는다.", "alt": "다이제스트 대조에서 윈도우로 일치가 건너가고 윈도우에서 서명 파싱으로 기간 안이 건너가고 서명 파싱에서 HMAC 으로 형식 통과가 건너간다.", "long_description": "SSOT 는 승인 검증 순서를 적는다. 다이제스트 대조와 윈도우와 서명 파싱을 지나야 HMAC 에 닿는다.", "source_context": { "document": "/home/donghyeon/workspace/chat-gpt-container/document-haness/docs/clean-architecture-backend-template/final/document.md", "document_sha256": "8071fe71b3359d9cf60b95909c26c7b50653ce2f22bbc5fcf6988719bb91236d", "anchor": { "kind": "line", "value": 15604, "line": 15604 } }, "composition": { "profile": "component-flow", "diagram_only": true, "reference_ids": [ "payment-event-flow" ], "rationale": "싼 검사가 앞서고 비싼 HMAC 이 마지막이라는 순서가 논지다.", "focus_node": "digest" }, "groups": [], "nodes": [ { "id": "digest", "label": "다이제스트 대조", "kind": "service", "role": "source", "evidence": [ { "start_line": 15604, "end_line": 15628 } ], "assumption": false, "emphasis": "primary" }, { "id": "win", "label": "윈도우", "kind": "service", "role": "service", "evidence": [ { "start_line": 15604, "end_line": 15628 } ], "assumption": false }, { "id": "parse", "label": "서명 파싱", "kind": "service", "role": "service", "evidence": [ { "start_line": 15604, "end_line": 15628 } ], "assumption": false }, { "id": "hmac", "label": "HMAC", "kind": "service", "role": "sink", "evidence": [ { "start_line": 15604, "end_line": 15633 } ], "assumption": false } ], "edges": [ { "id": "a", "from": "digest", "to": "win", "label": "일치", "kind": "request", "evidence": [ { "start_line": 15604, "end_line": 15628 } ], "assumption": false, "emphasis": "primary" }, { "id": "b", "from": "win", "to": "parse", "label": "기간 안", "kind": "request", "evidence": [ { "start_line": 15604, "end_line": 15628 } ], "assumption": false }, { "id": "c", "from": "parse", "to": "hmac", "label": "형식 통과", "kind": "request", "evidence": [ { "start_line": 15604, "end_line": 15633 } ], "assumption": false } ], "legend": [], "metadata": {} }