Vercel Connect؛ توکن کوتاهعمر بهجای توکن ذخیرهشده
خلاصهٔ کاملتر
به گفتهٔ ورسل، الان دسترسی ایجنتها به ابزارها معمولاً با یه توکن دائمی انجام میشه که تو متغیرهای محیطی ذخیره شده، بین همهٔ کاربرها مشترکه، هیچوقت منقضی نمیشه و برای هر کاری، هرچقدر هم کوچیک، دسترسی کامل داره. مشکل اینه که وقتی این توکن لو بره، هر چیزی که بهش دسترسی داشته لو رفته. تو این مقاله اومده که یه گاوصندوق فقط دزدیدن توکن رو سختتر میکنه، ولی از خطرناک بودنش کم نمیکنه.
راهحلشون Vercel Connect هست که حالا تو بتای عمومیه و توکن ذخیرهشده رو با «تبادل اعتبار در زمان اجرا» عوض میکنه. تو یه بار یه کانکتور به یه ارائهدهنده مثل Slack یا GitHub میسازی، و بعد هر وقت ایجنت کاری داره، اپلیکیشن هویتش رو ثابت میکنه و یه اعتبار کوتاهعمر و محدود به همون کار پس میگیره. هر کاری که با توکن قبلی میکردی هنوز کار میکنه، فقط ایجنت هر بار بهجای نگه داشتن دسترسی، درخواستش میکنه.
خود درخواست، دامنهٔ دسترسی رو محدود میکنه؛ یعنی هر مرحله دقیقاً همون دسترسیای که لازم داره رو میگیره. مثال GitHub از همه گویاتره، چون میشه یه توکن رو به یه مخزن و یه سطح دسترسی مشخص محدود کرد:
const token = await getToken('github/mybot', {
subject: { type: 'app' },
authorizationDetails: [
{
type: 'github_app_installation',
repositories: ['myorg/repo1'],
permissions: ['contents:read'],
},
],
});حالا سؤال اینه: اگه اپ هیچ رازی نگه نمیداره، چی ثابت میکنه که اجازهٔ درخواست داره؟ جواب اینه که هر استقرار روی ورسل یه هویت OIDC داره؛ موقع درخواست توکن، SDK همین هویت رو به Vercel Connect نشون میده، اون هم بررسی میکنه پروژه و محیط اجازهٔ استفاده از کانکتور رو دارن یا نه و اعتبار ارائهدهنده رو برمیگردونه. همین رفتوبرگشت، همون تبادل اعتبار در زمان اجراست.
نویسنده میگه میشه هر محیط (توسعه، پیشنمایش، تولید) کانکتور جدا داشته باشه تا اعتباری که تو توسعه لو رفته، رو تولید کار نکنه. برای پس گرفتن دسترسی هم بهجای دردسر چرخوندن راز، توکنهای یه کانکتور رو باطل میکنی — یا فقط مال خودت رو یا همه رو. البته اگه ارائهدهنده API باطلسازی نداشته باشه، توکن صادرشده تا انقضاش معتبر میمونه، که یه محدودیت واقعیه.
توکنها هم کوتاهعمرن و SDK خودش تازهشون میکنه، پس دیگه دستی رازی نمیچرخونی. کنارش میشه توکن رو بهجای اپ، از طرف یه کاربر مشخص گرفت (تغییر subject به کاربر). Vercel Connect وبهوکهای سرویسهایی مثل Slack رو هم میگیره، تأیید میکنه و به پروژهت فوروارد میکنه، طوری که دیگه لازم نیست توکن ربات یا راز امضای Slack تو اپ باشه. آداپترهایی برای Better Auth، Auth.js، AI SDK و MCP هم داره.
نکات کلیدی:
- Vercel Connect بهجای توکن دائمی ذخیرهشده، لحظهٔ نیاز یه توکن کوتاهعمر و محدود به همون کار میده.
- یه بار یه کانکتور به Slack، GitHub یا هر سرور MCP سازگار با OAuth میسازی و بین پروژهها استفادهش میکنی.
- اثبات هویت با OIDC انجام میشه، پس هیچ راز ارائهدهندهای تو اپ ذخیره نمیشه که لو بره.
- هر درخواست میتونه دسترسی رو به یه مخزن، یه سطح یا حتی یه کاربر مشخص محدود کنه (کمترین امتیاز).
- میشه توکنها رو باطل کرد و هر محیط کانکتور جدا داشته باشه تا لو رفتن اعتبار محدود بمونه.




