روش: تفویض اختیار

این فراخوان یک JSON Web Token (JWT) احراز هویت جدید را برمی‌گرداند که به یک نهاد اجازه می‌دهد به یک منبع مشخص از طرف کاربر احراز هویت شده در JWT احراز هویت اصلی دسترسی پیدا کند. هنگامی که آن موجودیت نیاز به اقدام از طرف کاربر دارد، از آن برای واگذاری دسترسی دامنه‌دار به wrap یا باز کردن به نهاد دیگری استفاده می‌شود.

درخواست HTTP

POST https://<base_url>/delegate

<base_url> با URL سرویس فهرست کنترل دسترسی کلید (KACLS) جایگزین کنید.

پارامترهای مسیر

هیچ کدام

درخواست بدن

بدنه درخواست حاوی یک نمایش JSON از درخواست است:

نمایندگی JSON
{
  "authentication": string,
  "authorization": string,
  "reason": string
}
فیلدها
authentication

string

JWT صادر شده توسط شخص ثالث که نشان می دهد کاربر کیست. برای جزئیات بیشتر به بخش احراز هویت مراجعه کنید.

authorization

string

یک JWT با ادعای delegated_to و resource_name ادعا می‌کند که نهاد شناسایی‌شده توسط ادعای delegated_to مجاز به دسترسی به resource_name از طرف کاربر است. برای اطلاعات بیشتر، به نمادهای مجوز مراجعه کنید.

reason

string (UTF-8)

یک رشته JSON گذرا که زمینه اضافی را در مورد عملیات ارائه می دهد. JSON ارائه شده باید قبل از نمایش، ضدعفونی شود. حداکثر حجم: 1 کیلوبایت

مراحل پردازش مورد نیاز

KACLS باید حداقل این مراحل را انجام دهد:

  • هم توکن های مجوز و هم تأیید اعتبار را تأیید کنید. برای اطلاعات بیشتر، نشانه‌های مجوز و نشانه‌های احراز هویت را ببینید.
  • بررسی کنید که نشانه‌های مجوز و احراز هویت برای یک کاربر باشد. برای اطلاعات بیشتر، به رمزگذاری و رمزگشایی داده ها مراجعه کنید.
  • بررسی کنید که ادعای kacls_url در کد مجوز با URL فعلی KACLS مطابقت داشته باشد. این اجازه می دهد تا سرورهای بالقوه Man-in-the-Middle را که توسط خودی ها یا ادمین های سرکش دامنه پیکربندی شده اند شناسایی کنید.
  • اگر ادعای kacls_owner_domain در کد مجوز وجود دارد، بررسی کنید که این مقدار با دامنه Google Workspace مالک KACLS مطابقت داشته باشد. این به جلوگیری از ثبت نام KACLS شما توسط کاربران غیرمجاز در Google کمک می کند.
  • عملیات را ثبت کنید، از جمله کاربر ایجاد کننده آن، delegated_to ، resource_name ، و دلیل ارسال شده در درخواست.
  • یک توکن JWT حاوی ادعاهای delegated_to و resource_name از توکن مجوز تولید، امضا و برگردانید.

KACLS برای انجام بررسی‌های امنیتی اضافی، از جمله بررسی‌های مبتنی بر ادعای JWT، رایگان است.

بدن پاسخگو

در صورت موفقیت آمیز بودن، این روش یک JWT احراز هویت حاوی ادعاهای delegated_to و resource_name را برمی گرداند. این توکن بعداً می‌تواند برای احراز هویت در تماس‌های متدهای Wrap و Unwrap استفاده شود. در صورت بروز خطا، یک پاسخ خطای ساختاریافته باید برگردانده شود.

نمایندگی JSON
{
  "delegated_authentication": string
}
فیلدها
delegated_authentication

string

یک JWT احراز هویت واگذار شده معتبر برای دسترسی به resource_name توسط کاربر ذکر شده در JWT احراز هویت اصلی. برای اطلاعات بیشتر، کد احراز هویت KACLS برای delegate ببینید.

مثال

درخواست کنید

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...}"
}