کلیدهای API
کلیدتان از کجا میآید، دقیقاً چه کاری از آن برمیآید، و چطور امن نگهش دارید.
هر اپ یک کلید دارد که همراه خود اپ ساخته میشود. تنها اعتبارنامهای است که این API میپذیرد و تمام اختیارات حسابی را دارد که مالک آن اپ است.
پیدا کردن کلید
کنسول را باز کنید، یک اپ انتخاب کنید و کارت «کلید API» را در ستون کناری صفحهٔ اپ پیدا کنید. مقدار بهصورت پوشانده نمایش داده میشود و دکمهٔ کپی، کلید کامل را در کلیپبورد میگذارد.
dk_live_9f3aC2xQ7mB1vT8sE4nK6pR0jY5wZ2hLکلیدها رشتههایی مبهم با پیشوند dk_live_ هستند. کل رشته را رمز در نظر بگیرید — زوج شناسه و رمز جداگانهای وجود ندارد.
کلید چه کارهایی میتواند بکند
کلید بهعنوان کاربری که مالک اپ است احراز هویت میشود. این دامنه گستردهتر از چیزی است که به نظر میرسد، پس بگذارید صریح بگوییم. هرکس این کلید را داشته باشد میتواند:
- فضاهای کاری زیر آن اپ را فهرست کند، بسازد، تغییر نام دهد و حذف کند.
- در هر کدام از آن فضاها سند بارگذاری کند و سندها را حذف کند.
- مقدار
file_urlهر سند را بخواند، که لینک مستقیم به فایل اصلی ذخیرهشده است. - در هر کدام از آن فضاها سؤال بپرسد و تاریخچهٔ گفتوگوی هر کاربر نهایی را بخواند.
امن نگه داشتنش
و از همینجا فهرست کوتاهی از قاعدهها بیرون میآید:
- API را فقط از سمت سرور خودتان صدا بزنید. نه از مرورگر، نه از اپ موبایل، نه از اپ دسکتاپ، و نه از هیچ خروجی ساختی که کاربرانتان میتوانند دانلودش کنند.
- کلید را از متغیر محیطی یا یک secret manager بخوانید. هرگز در مخزن کد ثبتش نکنید و هرگز جایی نگذاریدش که مرحلهٔ ساخت بتواند داخل بستهٔ سمت کاربر جاسازیاش کند.
- اگر کاربرانتان باید از مرورگر بپرسند، از سرور خودتان پراکسی کنید: برنامهٔ سمت کاربر شما API خودتان را صدا میزند و API شما کلید را نگه میدارد. همین کار به شما اجازه میدهد محدودیت نرخ خودتان را اعمال کنید، چیزی که این API هنوز ندارد.
- برای هر کاربر نهایی
external_user_idمتفاوتی بفرستید تا با وجود اشتراک در یک کلید، گفتوگوهایی که ذخیره میکنید از هم جدا بمانند.
چرخش و ابطالدر نقشهٔ راه: بهزودی
چرخش و ابطال کلید هنوز در دسترس نیست. مسیری برای صدور کلید جایگزین، بازنشسته کردن کلید قدیمی، یا فهرست کردن کلیدهای موجود وجود ندارد — هر اپ دقیقاً یک کلید دارد که در تمام عمر اپ ثابت است.