رفتن به محتوا

اسرار و متغیرهای محیطی

مدیریت کلیدهای API و متغیرهای محیطی برای backend Convex شما.

برای باز کردن پنل تنظیمات، روی دکمه Settings در نوار ابزار builder کلیک کنید. این پنل سه بخش دارد:

بخشکاربرد
Generalنام پروژه و پایگاه دانش
SEO & sharingتنظیم عنوان سایت، توضیحات و favicon
Secretsمتغیرهای محیطی برای backend Convex شما
  1. روی دکمه Settings در نوار ابزار builder کلیک کنید
  2. تب Secrets را باز کنید
  3. یک نام (مثل STRIPE_SECRET_KEY) و مقدار وارد کنید
  4. روی Add کلیک کنید

چطور از secret‌ها در اپلیکیشنم استفاده کنم؟

Section titled “چطور از secret‌ها در اپلیکیشنم استفاده کنم؟”

Secret‌ها با backend Convex اپلیکیشن شما همگام‌سازی می‌شوند. می‌توانید در کد action/mutation/query مربوط به Convex با process.env.SECRET_NAME به آن‌ها دسترسی داشته باشید. این secret‌ها در کد frontend یا به‌عنوان متغیرهای محیطی سطح pod در دسترس نیستند — این کار از نشت secret‌ها به bundle مرورگر جلوگیری می‌کند.

هوش مصنوعی هنگام ساخت قابلیت‌ها به‌طور خودکار از secret‌های شما استفاده می‌کند:

  • "Accept payments with Stripe" ← از STRIPE_SECRET_KEY شما استفاده می‌کند
  • "Send emails with Resend" ← از RESEND_API_KEY شما استفاده می‌کند
  • "Add Google OAuth" ← از GOOGLE_CLIENT_ID و GOOGLE_CLIENT_SECRET شما استفاده می‌کند

Secret‌ها فقط در توابع backend Convex (actions و mutations) قابل دسترسی هستند، نه در کد React سمت frontend. هوش مصنوعی توابع Convex را به‌گونه‌ای تولید می‌کند که از طریق process.env به آن‌ها دسترسی داشته باشند.

آیا می‌توانم بعد از ایجاد یک secret، آن را مشاهده یا ویرایش کنم؟

Section titled “آیا می‌توانم بعد از ایجاد یک secret، آن را مشاهده یا ویرایش کنم؟”

مقادیر secret‌ها به‌صورت پیش‌فرض پنهان هستند. می‌توانید نمایش آن‌ها را فعال کنید تا مقادیر نمایش داده شوند، آن‌ها را به‌روزرسانی کنید، یا حذف و مجدداً ایجادشان کنید.

آیا هوش مصنوعی می‌تواند secret‌های من را ببیند؟

Section titled “آیا هوش مصنوعی می‌تواند secret‌های من را ببیند؟”

هوش مصنوعی می‌تواند نام secret‌های شما را ببیند اما نه مقادیر آن‌ها. این امکان را می‌دهد که هنگام ساخت قابلیت‌ها، متغیر محیطی درست را ارجاع دهد بدون اینکه داده‌های حساس فاش شوند.

Proyecta به‌طور خودکار الگوهای رایج کلیدهای حساس (کلیدهای API، توکن‌ها، رمزهای عبور) را تشخیص می‌دهد و مقادیر آن‌ها را در رابط کاربری پنهان می‌کند.

بخش SEO & sharing به شما امکان می‌دهد موارد زیر را تنظیم کنید:

  • Site title — در تب مرورگر و نتایج جستجو نمایش داده می‌شود
  • Site description — برای توضیحات متا در SEO استفاده می‌شود
  • Favicon — آیکونی که در تب‌های مرورگر نشان داده می‌شود

این تنظیمات در پروژه شما ذخیره شده و هنگام publish اعمال می‌شوند.

بخش Knowledge Base به شما امکان می‌دهد مواد مرجع و زمینه‌ای که هوش مصنوعی هنگام ساخت اپلیکیشن شما از آن‌ها استفاده می‌کند را اضافه کنید. می‌توانید راهنمای برند، مشخصات فنی، یا هر مستنداتی که به هوش مصنوعی کمک می‌کند تصمیمات بهتری بگیرد را اضافه کنید.

آیا secret‌ها رمزگذاری می‌شوند؟

Secret‌ها در پروژه شما ذخیره شده و با deployment Convex شما همگام‌سازی می‌شوند. هرگز در کد commit‌شده شما ظاهر نمی‌شوند.

آیا می‌توانم برای محیط توسعه و production secret‌های متفاوت داشته باشم؟

در حال حاضر، secret‌ها هم برای runtime توسعه و هم برای deployment Convex منتشرشده (production) اعمال می‌شوند. مدیریت secret‌ها به‌ازای هر محیط در یک نسخه آینده برنامه‌ریزی شده است.

اگر به‌طور تصادفی یک secret را فاش کردم چه کار کنم؟

فوراً secret قدیمی را حذف کنید، کلید را از سرویس‌دهنده ثالث لغو کنید، و یک کلید جدید بسازید.

تفاوت secret‌ها و connectors چیست؟

Secret‌ها متغیرهای محیطی خامی هستند که خودتان مدیریت می‌کنید. Connector‌ها یکپارچه‌سازی‌های مدیریت‌شده‌ای هستند که در آن‌ها Proyecta ذخیره‌سازی اعتبارنامه، احراز هویت، بازنشانی توکن و ثبت audit را برای شما انجام می‌دهد. هر زمان که connector در دسترس بود از آن استفاده کنید (Stripe، Slack، Resend، ElevenLabs)؛ برای سرویس‌هایی که هنوز connector ندارند از secret‌ها استفاده کنید.