Navidaa نویدا documentation
Swagger
Security and delivery rules

وبهوک ها: مقررات

قواعد امنیت، retry، پاسخ موفق، توقف خودکار و چرخش secret.

امنیت URL

URL وبهوک مسیر ورود رویدادهای نویدا به محصول شماست؛ بنابراین قبل از ذخیره و همچنین قبل از هر ارسال، چند کنترل امنیتی روی آن انجام می شود.

  • ۱
    Scheme معتبرآدرس باید با https:// شروع شود. در production، آدرس های http:// پذیرفته نمی شوند.
  • ۲
    بدون userinfoآدرس هایی مثل https://user:pass@example.com معتبر نیستند، چون اطلاعات حساس نباید داخل URL قرار بگیرد.
  • ۳
    بدون fragmentبخش #... در URL وبهوک استفاده نمی شود و برای جلوگیری از ابهام رد می شود.
  • ۴
    بررسی DNS و شبکه خصوصینویدا hostname را هنگام ارسال دوباره resolve می کند. اگر آدرس به شبکه خصوصی، localhost یا آدرس های blocked برسد، ارسال انجام نمی شود.
  • ۵
    بدون دنبال کردن redirectاگر endpoint پاسخ redirect بدهد، نویدا آن را دنبال نمی کند؛ چون redirect می تواند کنترل های امنیتی آدرس مقصد را دور بزند.

retry

اگر endpoint پاسخ ۲xx ندهد یا timeout شود، همان رویداد دوباره ارسال می شود. مقدار event_id در همه تلاش های یک رویداد ثابت می ماند.

تلاشزمان تقریبینکته
۱بلافاصلهارسال اولیه پس از ایجاد رویداد.
۲حدود ۳۰ ثانیه بعدبرای خطاهای کوتاه مدت.
۳حدود ۲ دقیقه بعدفاصله بیشتر برای بازیابی سرویس دریافت کننده.
۴حدود ۱۰ دقیقه بعدادامه تلاش بدون فشار زیاد روی endpoint.
۵حدود ۱ ساعت بعدبرای قطعی های طولانی تر.
۶حدود ۶ ساعت بعدتلاش دیرتر برای رویدادهای هنوز تحویل نشده.
۷حدود ۲۴ ساعت بعدتلاش روز بعد.
۸حدود ۲۴ ساعت بعد از تلاش قبلیآخرین تلاش در تنظیمات پیش فرض.

روی زمان ها کمی jitter اعمال می شود؛ بنابراین زمان دقیق ممکن است چند ثانیه یا چند دقیقه جابه جا شود.

پاسخ موفق

هر status code در بازه ۲۰۰ تا ۲۹۹ موفق محسوب می شود. محتوای body پاسخ شما برای منطق نویدا استفاده نمی شود؛ فقط قطعه ای کوتاه برای عیب یابی ذخیره می شود.

چرخش کلید

هنگام چرخش secret، نویدا برای دوره گذار با secret جدید و قبلی امضا می کند. در این حالت header می تواند چند مقدار v1 داشته باشد. گیرنده باید اگر یکی از v1 ها معتبر بود درخواست را بپذیرد.