رفتن به محتوا

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

مدیریت کلیدهای API و رازهای سمت سرور برای کد backend و realtime سفارشی.

اکثر اپ‌های Proyecta اصلاً به راز نیازی ندارند. پرداخت‌ها، ایمیل، احراز هویت و محتوا قابلیت‌های پلتفرم هستند — Proyecta آن‌ها را متصل می‌کند و اعتبارنامه‌ها را برای شما مدیریت می‌کند (ببینید Connectors). اکثر اپ‌ها هرگز رازی اینجا اضافه نمی‌کنند. تنها زمانی به راز نیاز خواهید داشت که سرویسی وجود داشته باشد که هیچ قابلیت یا connector‌ای آن را پوشش ندهد — معمولاً در اپی با کد realtime/backend سفارشی (یک backend realtime به زودی در دسترس خواهد بود).

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

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

چطور از رازها در اپم استفاده کنم؟

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

برای اپی که یک backend realtime دارد، رازها با آن deployment همگام‌سازی می‌شوند و در کد سرور آن با process.env.SECRET_NAME مورد استفاده قرار می‌گیرند. آن‌ها در کد frontend یا به‌عنوان متغیرهای محیطی سطح pod در دسترس نیستند — این کار مانع از نشت رازها به داخل bundle مرورگر می‌شود.

برای یکپارچه‌سازی‌های رایج، معمولاً نیازی به اضافه کردن راز ندارید — Proyecta اعتبارنامه‌ها را به‌عنوان بخشی از قابلیت یا connector مدیریت می‌کند:

  • "Accept payments" ← قابلیت Commerce یکپارچه‌سازی با Stripe Connect را انجام می‌دهد (checkout، سفارش‌ها، پرداخت‌ها)
  • "Send emails" ← قابلیت email / یک connector مدیریت‌شده کلید provider را مدیریت می‌کند
  • "Add sign-in" ← قابلیت auth یک OIDC client فراهم کرده و تنظیمات OAuth را تزریق می‌کند

راز را تنها برای سرویسی اضافه کنید که توسط هیچ قابلیت یا connector‌ای پوشش داده نشده، در اپی با کد realtime/backend سفارشی (یک backend realtime به زودی در دسترس خواهد بود). آن کد راز را از طریق process.env می‌خواند.

آیا می‌توانم پس از ایجاد، یک راز را مشاهده/ویرایش کنم؟

Section titled “آیا می‌توانم پس از ایجاد، یک راز را مشاهده/ویرایش کنم؟”

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

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

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

هوش مصنوعی می‌تواند نام رازهای شما را ببیند، اما نه مقادیر آن‌ها. این به آن اجازه می‌دهد هنگام ساخت ویژگی‌ها به متغیر محیطی درست ارجاع دهد، بدون اینکه داده‌های حساس را در معرض نمایش بگذارد.

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

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

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

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

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

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

رازها در پروژه شما ذخیره می‌شوند و برای اپ‌هایی با یک backend realtime، با آن deployment همگام‌سازی می‌شوند. آن‌ها هرگز در کد commit‌شده شما ظاهر نمی‌شوند.

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

در حال حاضر، رازها هم برای runtime توسعه و هم برای اپ منتشرشده شما اعمال می‌شوند. مدیریت راز به‌ازای هر محیط در یک نسخه آینده برنامه‌ریزی شده است.

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

بلافاصله راز قدیمی را حذف کنید، کلید را از provider ثالث باطل کنید و یک کلید جدید بسازید.

تفاوت بین رازها و connectors چیست؟

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