To wywołanie zwraca nowy token internetowy JSON (JWT) uwierzytelniania, który umożliwia podmiotowi dostęp do określonego zasobu w imieniu użytkownika uwierzytelnionego w oryginalnym tokenie JWT uwierzytelniania. Służy do przekazywania zawężonego dostępu do zawijania lub odwijania innemu podmiotowi, gdy musi on działać w imieniu użytkownika.
Żądanie HTTP
POST https://<base_url>/delegate
Zastąp symbol <base_url>
adresem URL usługi listy kontroli dostępu do kluczy (KACLS).
Parametry ścieżki
Brak.
Treść żądania
Treść żądania zawiera reprezentację żądania w formacie JSON:
Zapis JSON | |
---|---|
{ "authentication": string, "authorization": string, "reason": string } |
Pola | |
---|---|
authentication |
Token JWT wydany przez firmę zewnętrzną, który potwierdza tożsamość użytkownika. Więcej informacji znajdziesz w sekcji dotyczącej uwierzytelniania. |
authorization |
Token JWT z deklaracjami |
reason |
Ciąg JSON przekazywany dalej, który zawiera dodatkowy kontekst dotyczący operacji. Przed wyświetleniem podany kod JSON należy oczyścić. Maksymalny rozmiar: 1 KB. |
Wymagane czynności przetwarzania
KACLS musi wykonać co najmniej te czynności:
- Sprawdź zarówno token autoryzacji, jak i token uwierzytelniania. Więcej informacji znajdziesz w sekcjach Tokeny autoryzacji i Tokeny uwierzytelniania.
- Sprawdź, czy tokeny autoryzacji i uwierzytelniania dotyczą tego samego użytkownika. Więcej informacji znajdziesz w artykule Szyfrowanie i odszyfrowywanie danych.
- Sprawdź, czy roszczenie
kacls_url
w tokenie autoryzacji jest zgodne z bieżącym adresem URL usługi KACLS. Umożliwia to wykrywanie potencjalnych serwerów typu „man-in-the-middle” skonfigurowanych przez osoby z wewnątrz organizacji lub nieuczciwych administratorów domen. - Jeśli w tokenie autoryzacji istnieje roszczenie
kacls_owner_domain
, sprawdź, czy jego wartość jest zgodna z domeną Google Workspace właściciela KACLS. Pomaga to zapobiegać rejestrowaniu Twojego systemu KACLS w Google przez nieautoryzowanych użytkowników. - Zarejestruj operację, w tym użytkownika, który ją zainicjował,
delegated_to
,resource_name
i przyczynę przekazaną w żądaniu. - Wygeneruj, podpisz i zwróć token JWT zawierający roszczenia
delegated_to
iresource_name
z tokena autoryzacji.
KACLS może przeprowadzać dodatkowe kontrole bezpieczeństwa, w tym kontrole oparte na roszczeniach JWT.
Treść odpowiedzi
Jeśli operacja się uda, ta metoda zwróci token JWT uwierzytelniania zawierający roszczenia delegated_to
i resource_name
. Ten token może być później używany do uwierzytelniania w wywołaniach metod Wrap i Unwrap. W przypadku błędu należy zwrócić odpowiedź z błędem strukturalnym.
Zapis JSON | |
---|---|
{ "delegated_authentication": string } |
Pola | |
---|---|
delegated_authentication |
Token JWT uwierzytelniania delegowanego, który jest ważny w przypadku dostępu do |
Przykład
Żądanie
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'}"
}
Odpowiedź
{
"delegated_authentication": "eyJhbGciOi...delegated_to_from_authz_token...resource_name_from_authz_token...}"
}