لم تتم ترجمة هذا المقال إلى هذه اللغة بعد؛ تشاهد النسخة الفارسية.

متوسط

هایجین کلید API — چیکار کنی اگه کلیدت لو رفت

فرق تجدید و ابطال کلید، کِی کدومو بزنی، و کاری که همین الان باید بکنی اگه یه کلید تو یه جای عمومی افتاد.

اگه یه کلید API رو یه‌جایی که نباید (گیت‌هاب عمومی، یه لاگ، یه چت) دیدی، یا فقط می‌خوای قبل از این‌که اتفاقی بیفته آماده باشی — این مقاله برای توئه. تا آخرش می‌دونی دقیقاً چه دکمه‌ای رو کِی بزنی، و کلید جدیدت رو کجا نگه داری که دوباره لو نره.

یه کلید لو رفت؟ همین الان تجدیدش کن

تو صفحه‌ی «اتصال به ابزارها» دکمه‌ی «تجدید کلید» رو بزن. این کار کلید قبلی رو فوری و برای همیشه غیرفعال می‌کنه و یه کلید تازه بهت می‌ده — یعنی از همون لحظه، هر جایی که کلید قدیمی رو استفاده می‌کرده (کد، CLI agent، یه فایل env قدیمی) دیگه کار نمی‌کنه، و هیچ‌کس دیگه هم نمی‌تونه با اون کلید لوررفته درخواست بزنه.

کلید جدید فقط یه بار کامل نشونت داده می‌شه — همون لحظه که تجدیدش می‌کنی. همون‌جا کپیش کن، جایی که جز خودت کسی دسترسی نداره ذخیره‌ش کن، بعد برو هر جایی که کلید قدیمی رو استفاده می‌کردی (کد، متغیرهای محیطی، تنظیمات CLI agent) عوضش کن.

کِی ابطال کنی، نه تجدید

اگه دیگه اصلاً به بنفش تو اون پروژه نیاز نداری — نه این‌که فقط می‌خوای کلید رو عوض کنی — «ابطال کلید» بزن. فرقش با تجدید اینه که ابطال کلید جدیدی جایگزینش نمی‌کنه؛ فقط کلید فعلی رو برای همیشه می‌بندی. اگه بعداً دوباره لازمش شدی، از همون صفحه یه کلید تازه می‌سازی.

خلاصه: شک داری کلیدت لو رفته ولی هنوز بهش نیاز داری → تجدید. دیگه اصلاً نیازش نداری → ابطال.

کلید رو کجا نگه داری (و کجا نه)

  • بله: یه متغیر محیطی، یه secret manager، یه فایل .env که تو .gitignore هست.
  • نه: کد سمت مرورگر یا اپ موبایل (api-quickstart هم همینو تأکید کرده)، هیچ فایلی که commit می‌شه، هیچ پیام یا چتی — حتی خصوصی.
  • اگه یه کلید تو یه commit رفت، پاک‌کردن اون commit کافی نیست — تاریخچه‌ی گیت هنوز جایی موجوده (fork، کش، لاگ CI). فقط تجدید کلید واقعاً می‌بندتش.

یه کلید جدا برای هر پروژه بساز — این دقیقاً همون‌جاست که به کارت میاد

می‌تونی برای هر پروژه، دستگاه، یا ابزار CI یه کلید جدا بسازی (تا ده‌تا کلید فعال هم‌زمان، هر کدوم با اسم و سقف مصرف مخصوص خودش) — از «اتصال به ابزارها». فایده‌ش دقیقاً همینه که این مقاله دربارهٔ‌شه: اگه یکی از کلیدها لو رفت، فقط همون یکی رو ابطال کن — بقیه‌ی پروژه‌ها و ابزارهات دست‌نخورده می‌مونن، کاری نکردی که همه‌شون یه‌جا از کار بیفتن.

اگه فعلاً همه‌ی ابزارهات از یه کلید مشترک استفاده می‌کنن، تجدید یا ابطال همون یکی روی همه‌شون اثر می‌ذاره — پس اگه چند تا پروژه یا ابزار جدا داری، همین الان وقتشه که برای هر کدوم یه کلید جدا بسازی، نه بعد از این‌که یکی‌شون لو رفت.

چک‌لیست هایجین کلید

  • کلید هیچ‌وقت تو کد یا commit نیست.
  • کلید تو یه secret manager یا .env گیت‌ایگنورشده‌ست، نه یه پیام یا یادداشت.
  • هر چند وقت یک‌بار، حتی بدون شک به لورفتن، تجدیدش کن — یه عادت خوب، نه فقط واکنش اضطراری.
  • اگه یه پروژه رو کنار گذاشتی و دیگه بهش نیاز نداری، کلید رو ابطال کن، ول نکن که باز بمونه.