روش احراز هویت برنامه
برای اتصال برنامه، توکن ساختهشده در بخش امنیت پروژه را در سربرگ درخواست ارسال کنید.
Authorization: Bearer YOUR_API_TOKEN
توکن API با هویت کاربری که آن را ساخته است کار میکند؛ دسترسی به مسیرهای پروژه به عضویت و کنترل دسترسی همان عملیات نیز وابسته است.
توکن ساختهشده برای یک پروژه را فقط برای همان پروژه استفاده کنید؛ به امکان دسترسی اتفاقی به پروژههای دیگر تکیه نکنید و از وجود محدودیت یکسان در همهٔ مسیرهای قدیمی فرض نسازید.
در فهرست پروژهها، نتیجه بر مبنای عضویت کاربر است؛ صدور توکن برای یک پروژه به معنی محدود شدن این فهرست به همان پروژه نیست.
تفاوت با توکن ورود کنسول
توکن ورود کنسول از نوع JWT است و Gateway آن را بدون پیشوند Bearer میخواند؛ توکن API همراه این پیشوند ارسال میشود.
برای خودکارسازی، از توکن API استفاده کنید؛ توکن ورود مرورگر را از نشست کنسول کپی نکنید و داخل نمونهکد قرار ندهید.
ساخت و نگهداری توکن
برای دریافت اولین توکن از کنسول استفاده کنید؛ پس از آن، API مدیریت توکن نیز قابل استفاده است.
متغیرهای محیطی این مثال از شروع سریع میآیند؛ ساخت توکن دسترسی جدید ایجاد میکند و مقدار کامل آن فقط در همین پاسخ وجود دارد.
curl --fail-with-body --silent --show-error \
"$ABRBIT_API/api/v1/project/$ABRBIT_PROJECT/security/apitokens/" \
--header "Authorization: Bearer $ABRBIT_TOKEN" \
--header 'Content-Type: application/json' \
--data '{"name":"my-integration"}'
پاسخ موفق با وضعیت 200 یک شیء شامل id، name، token، prefix، project_id و revoked است؛ سایر فیلدها در مرجع آمدهاند.
مقدار token را ذخیره کنید؛ مقدار prefix برای ارسال درخواست کافی نیست و هش توکن نیز قابل بازیابی نیست.
مشاهدهٔ توکنها
curl --fail-with-body --silent --show-error \
"$ABRBIT_API/api/v1/project/$ABRBIT_PROJECT/security/apitokens/" \
--header "Authorization: Bearer $ABRBIT_TOKEN"
پاسخ شامل objects و meta است؛ فهرست میتواند توکنهای باطلشده را نیز داشته باشد و مقدار کامل توکنها را نمایش نمیدهد.
باطل کردن توکن
شناسهٔ عددی توکن را از پاسخ ساخت یا فهرست بردارید؛ مسیر ابطال برخلاف مسیر فهرست، اسلش پایانی ندارد.
توجه: ابطال، دسترسی برنامههای استفادهکننده از همان توکن را قطع میکند؛ اگر توکن فعال خودتان را باطل کنید، درخواست بعدی با آن موفق نخواهد بود.
export ABRBIT_TOKEN_ID='TOKEN_ID'
curl --fail-with-body --silent --show-error --request DELETE \
"$ABRBIT_API/api/v1/project/$ABRBIT_PROJECT/security/apitokens/$ABRBIT_TOKEN_ID" \
--header "Authorization: Bearer $ABRBIT_TOKEN"
پاسخ موفق با وضعیت 204 بدنه ندارد؛ برای تعویض توکن، ابتدا توکن جدید را در برنامه نصب و آزمایش کنید و سپس توکن قدیمی را باطل کنید.