{
  "title": "درگاه API Gateway",
  "slug": "team/platform/gateway/index",
  "url": "/docs/team/platform/gateway/index",
  "frontmatter": {
    "layout": "doc",
    "title": "درگاه API Gateway",
    "description": "مستندات فنی و معماری درگاه ورود پلتفرم (API Gateway) پروژه NONS",
    "version": "1.0.0",
    "status": "PUBLIC",
    "author": "Antigravity",
    "owner": "Platform Team",
    "created_at": "2026-06-14",
    "updated_at": "2026-06-14",
    "tags": "",
    "reviewers": ""
  },
  "sections": [
    {
      "level": 1,
      "heading": "درگاه API Gateway",
      "content": "**API Gateway Documentation**\n\n> **خلاصه:** درگاه API Gateway (بر پایه Traefik) به عنوان تنها نقطه ورود (Single Entry Point) کلاینت‌ها به پلتفرم NONS عمل می‌کند. این درگاه مسئول مسیریابی، اعتبارسنجی اولیه توکن، اعمال محدودیت نرخ درخواست (Rate Limiting), مدیریت CORS و تزریق هدرهای امنیتی و ردگیری است.\n\n---"
    },
    {
      "level": 2,
      "heading": "فهرست مستندات",
      "content": "**Document Directory**\n\n1. [تصمیم معماری ۱: انتخاب و طراحی درگاه](./ADR/ADR-Gateway-001)  \n   علت وجود Gateway، گزینه‌های بررسی‌شده، دلایل فنی انتخاب Traefik و معماری تأیید هویت.\n2. [بلوپرینت درگاه (Gateway Blueprint)](./blueprint)  \n   اهداف، مسئولیت‌ها، معماری ران‌تایم، استراتژی‌های مسیریابی، مدل امنیتی، مانیتورینگ و دیاگرام‌های توالی جریان‌ها.\n3. [راهنمای کاربری و توسعه (Gateway README)](./README)  \n   نحوه پیکربندی، اجرا، تست محلی، متغیرهای محیطی و سناریوهای رفع خطا (Troubleshooting).\n\n---"
    },
    {
      "level": 2,
      "heading": "اصول حاکم بر طراحی درگاه",
      "content": "**Core Design Principles**\n\n- **عدم داشتن منطق کسب‌وکار (Business Logic Free):** درگاه Gateway صرفاً ترافیک را هدایت و لایه‌های امنیتی اولیه را اعمال می‌کند. هیچ‌گونه دانشی در خصوص دامنه و قوانین بیزینس (مانند مدیریت سفارش یا کیف پول) در این لایه قرار نمی‌گیرد.\n- **توسعه‌پذیری پویا (Dynamic Routing):** اضافه شدن سرویس‌های جدید به صورت خودکار و از طریق پیکربندی‌های بومی کوبرنتیز (Kubernetes IngressRoute / Services) شناسایی و ثبت می‌شوند بدون نیاز به ری‌استارت درگاه.\n- **اعتبارسنجی متمرکز نشست‌ها (Centralized Session Validation):** اعتبارسنجی وضعیت ورود کاربران در سطح درگاه به صورت متمرکز از طریق متد ForwardAuth و با اتکا به نشست‌های کاربری Ory Kratos انجام می‌شود تا از نفوذ درخواست‌های غیرمجاز به میکروسرویس‌های داخلی جلوگیری شود.\n- **اعتبارسنجی توکن‌های API (JWT / Bearer):** درخواست‌های کلاینت‌های ماشینی (SPA، موبایل، CLI، سرویس‌به‌سرویس) حامل `Authorization: Bearer <access_token>` هستند. درگاه امضای JWT را با کلید عمومی منتشرشده توسط **Token Service (Ory Hydra)** از طریق `JWKS endpoint` (`/.well-known/jwks.json`) اعتبارسنجی می‌کند. این اعتبارسنجی stateless است و نیازی به تماس با Hydra Admin API ندارد.\n\n---\n\n**آخرین بروزرسانی:** 2026-06-14  \n**وضعیت:** ✅ تایید شده (APPROVED)"
    }
  ]
}