این فراخوانی یک JSON Web Token (JWT) احراز هویت جدید را برمیگرداند که به یک موجودیت اجازه میدهد از طرف کاربری که در JWT احراز هویت اصلی احراز هویت شده است، به یک منبع مشخص دسترسی پیدا کند. این برای واگذاری دسترسی محدود به wrap یا unwrap به موجودیت دیگری استفاده میشود، زمانی که آن موجودیت نیاز به اقدام از طرف کاربر دارد.
درخواست HTTP
POST https://<base_url>/delegate
<base_url> با آدرس اینترنتی سرویس فهرست کنترل دسترسی کلیدی (KACLS) جایگزین کنید.
پارامترهای مسیر
هیچ کدام.
درخواست بدنه
بدنه درخواست شامل یک نمایش JSON از درخواست است:
| نمایش JSON | |
|---|---|
{ "authentication": string, "authorization": string, "reason": string } | |
| فیلدها | |
|---|---|
authentication | یک JWT که توسط شخص ثالثی صادر شده و هویت کاربر را تأیید میکند. برای جزئیات بیشتر به بخش احراز هویت مراجعه کنید. |
authorization | یک JWT با ادعاهای |
reason | یک رشته JSON عبوری که زمینه بیشتری در مورد عملیات ارائه میدهد. JSON ارائه شده باید قبل از نمایش، پاکسازی شود. حداکثر اندازه: ۱ کیلوبایت. |
مراحل پردازش مورد نیاز
KACLS باید حداقل این مراحل را انجام دهد:
- اعتبارسنجی توکنهای مجوز و احراز هویت را انجام دهید. برای اطلاعات بیشتر، به «توکنهای مجوز» و «توکنهای احراز هویت» مراجعه کنید.
- بررسی کنید که توکنهای مجوز و احراز هویت برای یک کاربر باشند. برای اطلاعات بیشتر، به رمزگذاری و رمزگشایی دادهها مراجعه کنید.
- بررسی کنید که عبارت
kacls_urlدر توکن مجوز با URL فعلی KACLS مطابقت داشته باشد. این کار امکان شناسایی سرورهای بالقوهی man-in-the-middle که توسط افراد داخلی یا مدیران دامنهی جعلی پیکربندی شدهاند را فراهم میکند. - اگر عبارت
kacls_owner_domainدر توکن مجوز وجود دارد، بررسی کنید که مقدار آن با دامنه Google Workspace مالک KACLS مطابقت داشته باشد. این کار به جلوگیری از ثبت KACLS شما توسط کاربران غیرمجاز در گوگل کمک میکند. - عملیات، شامل نام کاربری که آن را آغاز کرده،
delegated_to،resource_nameو دلیل ارسال شده در درخواست را ثبت کنید. - یک توکن JWT حاوی ادعاهای
delegated_toوresource_nameاز توکن مجوز تولید، امضا و برگرداند.
KACLS میتواند بررسیهای امنیتی اضافی، از جمله بررسیهای مبتنی بر ادعای JWT، را به صورت رایگان انجام دهد.
بدنه پاسخ
در صورت موفقیت، این متد یک JWT احراز هویت حاوی ادعاهای delegated_to و resource_name را برمیگرداند. این توکن میتواند بعداً برای احراز هویت در فراخوانیهای متدهای Wrap و Unwrap استفاده شود. در صورت بروز خطا، یک پاسخ خطای ساختاریافته باید برگردانده شود.
| نمایش JSON | |
|---|---|
{ "delegated_authentication": string } | |
| فیلدها | |
|---|---|
delegated_authentication | یک JWT احراز هویت واگذار شده که برای دسترسی به |
مثال
درخواست
POST https://mykacls.example.com/v1/delegate
{
"authentication": "eyJhbGciOi...",
"authorization": "eyJhbGciOi...delegated_to\":\"other_entity_id\",\"resource_name\":\"meeting_id\"...}",
"reason": "{client:'meet' op:'delegate_access'}"
}
پاسخ
{
"delegated_authentication": "eyJhbGciOi...delegated_to_from_authz_token...resource_name_from_authz_token...}"
}