مرجع pm.vault برای secretهای Vault در scriptهای Postman #
با pm.vault میتوانید در pre-request script و post-response script به secretهای موجود در Postman Local Vault دسترسی داشته باشید و آنها را بخوانید، مقداردهی کنید یا حذف کنید. این API برای دادههای حساس مثل token، کلید API و credential مناسبتر از variableهای معمولی است.
پشتیبانی و محدودیتها #
pm.vaultدر HTTP collectionها، HTTP requestها و اجرای دستی collectionها قابل استفاده است.- Scheduled run، monitor، Postman CLI و Newman از متدهای
pm.vaultپشتیبانی نمیکنند. - در collectionهای multi-protocol مثل GraphQL و gRPC پشتیبانی نمیشود.
- برای دسترسی به secretهای متصل به vault خارجی، از Postman desktop app استفاده کنید.
- در Postman web app برای دسترسی به vault secretها به Postman Desktop Agent نیاز دارید.
فعال کردن پشتیبانی در scriptها #
قبل از استفاده از pm.vault باید پشتیبانی Vault در scriptها را فعال کنید. اگر این گزینه فعال نباشد، Postman در Console خطا نشان میدهد و کدی که بعد از متد pm.vault قرار دارد اجرا نمیشود.
- Postman Local Vault را باز کنید.
- از بخش Settings وارد تنظیمات vault شوید.
- در تب Settings گزینه Enable support in scripts را روشن کنید.
- برای تایید، Enable را انتخاب کنید.
دادن یا رد کردن دسترسی scriptها #
Postman فقط به collectionها یا workspaceهایی اجازه استفاده از pm.vault میدهد که شما به آنها دسترسی داده باشید. وقتی request یا collectionای را اجرا میکنید که از این API استفاده میکند، Postman از شما میخواهد دسترسی را برای همان collection یا کل workspace تایید یا رد کنید.
- Only this collection: تصمیم فقط برای همان collection اعمال میشود.
- Entire Workspace: تصمیم برای همه collectionها و requestهای workspace اعمال میشود.
اگر دسترسی را رد کنید، هنگام اجرا خطا در Console نمایش داده میشود و کدهای بعد از pm.vault اجرا نمیشوند. برای امنیت، فقط به scriptهایی دسترسی بدهید که به آنها اعتماد دارید.
مدیریت دسترسیهای قبلی #
در Postman Local Vault از تب Manage access میتوانید تصمیمهای قبلی را مدیریت کنید:
- Reset Access: تصمیم قبلی را پاک میکند تا در اجرای بعدی دوباره سوال شود.
- Grant Access: اگر قبلا دسترسی را رد کردهاید، آن را برای collection یا workspace فعال میکند.
متدهای pm.vault #
متدهای pm.vault بهصورت async اجرا میشوند و Promise برمیگردانند. برای اینکه مقدار درست دریافت شود، قبل از آنها از await استفاده کنید.
console.log(await pm.vault.get("secretKey"));
await pm.vault.set("secretKey", "newValue");
await pm.vault.unset("secretKey");
pm.vault.get(secretKey) #
مقدار secret مشخصشده را از Local Vault میخواند و برمیگرداند. اگر لازم باشد میتوانید مقدار برگشتی را با رشتههای دیگر ترکیب کنید.
pm.vault.set(secretKey, secretValue) #
یک secret را با نام و مقدار مشخص در Local Vault ذخیره میکند. Postman مقدار secretهایی را که به vault خارجی لینک شدهاند از طریق این متد تغییر نمیدهد.
pm.vault.unset(secretKey) #
secret مشخصشده را از Local Vault حذف میکند.
نکته امنیتی #
اگر مقدار secret را با console.log چاپ کنید، Postman بهصورت پیشفرض آن را در Console ماسک میکند. این رفتار برای جلوگیری از نشت مقدارهای حساس است و بهتر است فقط در حالتهای ضروری تغییر داده شود.
منبع آموزشی: Postman Docs، بازنویسی و سادهسازیشده برای کاربران فارسیزبان.

