Lệnh gọi này trả về một JSON Web Token (JWT) xác thực mới, cho phép một thực thể truy cập vào một tài nguyên cụ thể thay cho người dùng được xác thực trong JWT xác thực ban đầu. Thường dùng để uỷ quyền quyền truy cập có phạm vi cho wrap hoặc unwrap cho một thực thể khác khi thực thể đó cần hành động thay mặt cho người dùng.
Yêu cầu HTTP
POST https://<base_url>/delegate
Thay thế <base_url>
bằng URL của Dịch vụ danh sách kiểm soát quyền truy cập khoá (KACLS).
Tham số đường dẫn
Không có.
Nội dung yêu cầu
Nội dung yêu cầu chứa một bản trình bày JSON của yêu cầu:
Biểu diễn dưới dạng JSON | |
---|---|
{ "authentication": string, "authorization": string, "reason": string } |
Trường | |
---|---|
authentication |
Một JWT do bên thứ ba phát hành để xác nhận danh tính của người dùng. Hãy xem phần xác thực để biết thông tin chi tiết. |
authorization |
Một JWT có các khai báo |
reason |
Một chuỗi JSON truyền qua cung cấp thêm ngữ cảnh về thao tác. Bạn nên dọn dẹp JSON đã cung cấp trước khi hiển thị. Kích thước tối đa: 1 KB. |
Các bước xử lý bắt buộc
KACLS phải thực hiện ít nhất những bước sau:
- Xác thực cả mã thông báo uỷ quyền và mã thông báo xác thực. Để biết thêm thông tin, hãy xem phần Mã thông báo uỷ quyền và Mã thông báo xác thực.
- Kiểm tra để đảm bảo mã thông báo uỷ quyền và xác thực là của cùng một người dùng. Để biết thêm thông tin, hãy xem bài viết Mã hoá và giải mã dữ liệu.
- Kiểm tra để đảm bảo rằng yêu cầu
kacls_url
trong mã thông báo uỷ quyền khớp với URL KACLS hiện tại. Điều này cho phép phát hiện các máy chủ trung gian tiềm ẩn do người dùng nội bộ hoặc quản trị viên miền giả mạo định cấu hình. - Nếu yêu cầu
kacls_owner_domain
có trong mã thông báo uỷ quyền, hãy kiểm tra để đảm bảo giá trị khớp với miền Google Workspace của chủ sở hữu KACLS. Điều này giúp ngăn người dùng trái phép đăng ký KACLS của bạn với Google. - Ghi lại thao tác, bao gồm cả người dùng bắt đầu thao tác,
delegated_to
,resource_name
và lý do được truyền trong yêu cầu. - Tạo, ký và trả về mã thông báo JWT chứa các yêu cầu
delegated_to
vàresource_name
từ mã thông báo uỷ quyền.
KACLS có thể thực hiện các quy trình kiểm tra bảo mật bổ sung, bao gồm cả các quy trình dựa trên xác nhận quyền sở hữu JWT.
Nội dung phản hồi
Nếu thành công, phương thức này sẽ trả về một JWT xác thực chứa các khai báo delegated_to
và resource_name
. Sau này, bạn có thể dùng mã thông báo này để xác thực trong các lệnh gọi đến phương thức Wrap và Unwrap. Trong trường hợp xảy ra lỗi, bạn nên trả về một phản hồi lỗi có cấu trúc.
Biểu diễn dưới dạng JSON | |
---|---|
{ "delegated_authentication": string } |
Trường | |
---|---|
delegated_authentication |
Một JWT xác thực được uỷ quyền hợp lệ để người dùng truy cập vào |
Ví dụ:
Yêu cầu
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'}"
}
Phản hồi
{
"delegated_authentication": "eyJhbGciOi...delegated_to_from_authz_token...resource_name_from_authz_token...}"
}