Wywoływanie interfejsu API z innego interfejsu API

Jak, jako deweloper, upewnij się, że zero trust, gdy masz jeden interfejs API, który musi wywoływać inny interfejs API? W tym artykule dowiesz się, jak bezpiecznie opracowywać aplikację podczas pracy w imieniu użytkownika.

Gdy użytkownik kieruje interfejsem użytkownika aplikacji, aplikacja może używać delegowanego uprawnienia, aby interfejs API wiedział, którego użytkownika w imieniu aplikacji działa. Spowoduje to sprawdzenie oświadczenia podmiotu (sub) lub identyfikatora obiektu (oid) i oświadczeń identyfikatora dzierżawy (tid) w tokenie dostępu, który aplikacja udostępnia podczas wywoływania interfejsu API. Interfejs API nie polegałby na niezaufanej aplikacji, która jest tylko wywołaniem pochodzącym z gdzieś w sieci. Zamiast tego zweryfikuje token, aby upewnić się, że interfejs API działa tylko w imieniu użytkownika aplikacji zweryfikowanego przez firmę Microsoft Entra ID.

Gdy jeden interfejs API (będziemy go odwoływać się do oryginalnego interfejsu API) wywołuje inny, ważne jest, aby wywoływany interfejs API (odwołujemy się do niego jako interfejs API podrzędny) był zgodny z opisanym powyżej procesem weryfikacji. Interfejs API podrzędny nie może polegać na niezaufanym źródle sieci. Musi ona pobrać tożsamość użytkownika z prawidłowo zweryfikowanego tokenu dostępu.

Jeśli interfejs API podrzędny nie jest zgodny z odpowiednim procesem walidacji, interfejs API podrzędny musi polegać na oryginalnym interfejsie API w celu zapewnienia tożsamości użytkownika w inny sposób. Interfejs API podrzędny może niepoprawnie użyć uprawnienia aplikacji do wykonania operacji. Następnie oryginalny interfejs API stanie się jedynym organem, w którym użytkownicy mogą osiągnąć wyniki względem interfejsu API podrzędnego. Oryginalny interfejs API może celowo (lub przypadkowo) umożliwić użytkownikowi wykonanie zadania, którego użytkownik nie mógł wykonać w inny sposób. Na przykład jeden użytkownik może zmienić szczegóły innego użytkownika lub przeczytać i zaktualizować dokumenty, do których użytkownik nie ma uprawnień dostępu. Nieprawidłowa walidacja może powodować poważne problemy z zabezpieczeniami.

Aby uzyskać lepsze zabezpieczenia, oryginalny interfejs API uzyskuje delegowany token dostępu uprawnień w celu udostępnienia interfejsu API podrzędnego, gdy oryginalny interfejs API wykonuje wywołanie. Przyjrzyjmy się temu, jak to działa.

Aplikacja kliencka uzyskuje token dostępu w celu wywołania oryginalnego interfejsu API

Na poniższym diagramie przedstawiono aplikację kliencą po lewej stronie i oryginalny interfejs API po prawej stronie.

Diagram przedstawia aplikację klienta z identyfikatorem i tokenami dostępu po lewej stronie oraz oryginalny interfejs API, który wymaga autoryzacji po prawej stronie.

Aplikacja kliencka uzyskała delegowany token dostępu uprawnień (wskazywany przez kształt pentagonu z etykietą "A") do oryginalnego interfejsu API. Delegowany token dostępu uprawnień umożliwia mu pracę w imieniu użytkownika w celu wywołania oryginalnego interfejsu API wymagającego autoryzacji.

Aplikacja kliencka zapewnia token dostępu oryginalnemu interfejsowi API

Animacja poniżej przedstawia aplikację kliencą dającą token dostępu oryginalnemu interfejsowi API. Oryginalny interfejs API w pełni weryfikuje i sprawdza token dostępu w celu określenia tożsamości użytkownika aplikacji klienckiej.

Animowany diagram przedstawia aplikację klienta po lewej stronie, dając token dostępu oryginalnemu interfejsowi API, który wymaga autoryzacji po prawej stronie.

Animowany diagram przedstawia dwa diagramy z przejściem ruchu między pierwszym diagramem a drugim diagramem. Tytuł pierwszego diagramu: Aplikacja kliencka uzyskała token dostępu w celu wywołania oryginalnego interfejsu API. Podtytuł pierwszego diagramu: Aplikacja kliencka ma token dostępu "A", który umożliwia mu pracę w imieniu użytkownika zidentyfikowanego w tokenie w celu wywołania oryginalnego interfejsu API. Pierwsze składniki diagramu: reprezentacja chmury jest wyświetlana w górnej części slajdu otaczającego ikonę identyfikatora Entra firmy Microsoft. W lewym dolnym rogu kształt prostokąta reprezentuje aplikację kliencką. Poniżej prostokąta Aplikacja kliencka znajdują się dwa sześciokątne kształty oznaczone etykietą "ID" i "A", które reprezentują identyfikatory i tokeny dostępu. W prawym dolnym rogu ikona w kształcie modułu, kształt chmury i ikona świata reprezentują oryginalny interfejs API. Po lewej stronie etykieta kształtu kwadratowego to "Wymagana autoryzacja". Strzałka łączy kształty po lewej stronie z kształtami po prawej stronie. Drugi tytuł diagramu: Aplikacja kliencka daje token dostępu do oryginalnego interfejsu API. Drugie składniki diagramu: reprezentacja chmury jest wyświetlana w górnym środku slajdu otaczającego ikonę identyfikatora Entra firmy Microsoft. W lewym dolnym rogu kształt prostokąta reprezentuje aplikację kliencką. Poniżej prostokąta Aplikacja kliencka znajduje się sześciokątny kształt oznaczony jako "ID", który reprezentuje token identyfikatora. W prawym dolnym rogu ikona w kształcie modułu, kształt chmury i ikona świata reprezentują oryginalny interfejs API. Po lewej stronie etykieta kształtu kwadratowego to "Wymagana autoryzacja". Po lewej stronie znajduje się sześciokątny kształt oznaczony jako "A", który reprezentuje token dostępu. Strzałka łączy kształty po lewej stronie z kształtami po prawej stronie.

Oryginalny interfejs API przeprowadza walidację tokenu i wymuszanie

Następna animacja pokazuje, że po podaniu tokenu dostępu aplikacji klienckiej do oryginalnego interfejsu API oryginalny interfejs API wykonuje walidację tokenu i wymuszanie. Jeśli wszystko jest dobre, interfejs API będzie kontynuować i obsługiwać żądanie aplikacji klienckiej.

Animowany diagram przedstawia aplikację klienta z tokenem identyfikatora po lewej stronie, dając token dostępu oryginalnemu interfejsowi API po prawej stronie.

Animowany diagram przedstawia dwa diagramy z przejściem ruchu między pierwszym diagramem a drugim diagramem. Tytuł pierwszego diagramu: Aplikacja kliencka daje token dostępu do oryginalnego interfejsu API. Pierwsze składniki diagramu: reprezentacja chmury jest wyświetlana w górnej części slajdu otaczającego ikonę identyfikatora Entra firmy Microsoft. W lewym dolnym rogu kształt prostokąta reprezentuje aplikację kliencką. Poniżej prostokąta Aplikacja kliencka znajduje się sześciokątny kształt oznaczony jako "ID", który reprezentuje token identyfikatora. W prawym dolnym rogu ikona w kształcie modułu, kształt chmury i ikona świata reprezentują oryginalny interfejs API. Po lewej stronie etykieta kształtu kwadratowego to "Wymagana autoryzacja". Po lewej stronie znajduje się sześciokątny kształt oznaczony jako "A", który reprezentuje token dostępu. Strzałka łączy kształty po lewej stronie z kształtami po prawej stronie. Drugi tytuł diagramu: Oryginalny interfejs API wykonuje walidację i wymuszanie tokenu. Jeśli wszystko jest dobre, interfejs API kontynuuje i obsługuje żądanie. Drugie składniki diagramu: reprezentacja chmury jest wyświetlana w górnym środku slajdu otaczającego ikonę identyfikatora Entra firmy Microsoft. W lewym dolnym rogu kształt prostokąta reprezentuje aplikację kliencką. Poniżej prostokąta Aplikacja kliencka znajduje się sześciokątny kształt oznaczony jako "ID", który reprezentuje token identyfikatora. W prawym dolnym rogu ikona w kształcie modułu, kształt chmury i ikona świata reprezentują oryginalny interfejs API. Strzałka łączy kształty po lewej stronie z kształtami po prawej stronie. Nad strzałką w prawo i pod kształtem chmury znajduje się sześciokątny kształt oznaczony jako "A", który reprezentuje token dostępu.

Oryginalny interfejs API nie może używać tokenu dostępu do wywoływania interfejsu API podrzędnego

Poniższa animacja pokazuje, że oryginalny interfejs API chce teraz wywołać interfejs API podrzędny. Jednak oryginalny interfejs API nie może użyć tokenu dostępu do wywołania interfejsu API podrzędnego.

Animowany diagram przedstawia aplikację kliencą dającą token dostępu oryginalnemu interfejsowi API. Pozycja Wymagane autoryzacja uniemożliwia oryginalnemu interfejsowi API nadawanie tokenu do interfejsu API podrzędnego.

Animowany diagram przedstawia dwa diagramy z przejściem ruchu między pierwszym diagramem a drugim diagramem. Tytuł pierwszego diagramu: Oryginalny interfejs API chce wywołać interfejs API podrzędnego. Pierwsze składniki diagramu: reprezentacja chmury jest wyświetlana w górnej części slajdu otaczającego ikonę identyfikatora Entra firmy Microsoft. W lewym dolnym rogu kształt prostokąta reprezentuje aplikację kliencką. Poniżej prostokąta Aplikacja kliencka znajduje się sześciokątny kształt oznaczony jako "ID", który reprezentuje token identyfikatora. W dolnej części ikona w kształcie kostki, kształt chmury i ikona świata reprezentują oryginalny interfejs API. Strzałka łączy kształty po lewej stronie z kształtami w środku. Nad strzałką w lewo i poniżej kształtu chmury znajduje się sześciokątny kształt oznaczony jako "A", który reprezentuje token dostępu. Drugi tytuł diagramu: Oryginalny interfejs API nie może użyć tokenu do wywołania interfejsu API podrzędnego. Drugie składniki diagramu: reprezentacja chmury jest wyświetlana w górnym środku slajdu otaczającego ikonę identyfikatora Entra firmy Microsoft. W lewym dolnym rogu kształt prostokąta reprezentuje aplikację kliencką. Poniżej prostokąta Aplikacja kliencka znajduje się sześciokątny kształt oznaczony jako "ID", który reprezentuje token identyfikatora. W dolnej części ikona w kształcie kostki, kształt chmury i ikona świata reprezentują oryginalny interfejs API. Strzałka łączy kształty po lewej stronie z kształtami w środku. Nad strzałką w lewo i poniżej kształtu chmury znajduje się sześciokątny kształt oznaczony jako "A", który reprezentuje token dostępu. W prawym dolnym rogu ikona w kształcie modułu, kształt chmury i ikona świata reprezentują interfejs API podrzędnego. Po lewej stronie etykieta kształtu kwadratowego to "Wymagana autoryzacja". Strzałka łączy kształty w środku z kształtami po prawej stronie.

Oryginalny interfejs API wraca do identyfikatora Entra firmy Microsoft

W poniższej animacji oryginalny interfejs API musi wrócić do identyfikatora Entra firmy Microsoft. Wymaga tokenu dostępu w celu wywołania interfejsu API podrzędnego w imieniu użytkownika.

Animowany diagram przedstawia aplikację kliencka dającą token dostępu oryginalnemu interfejsowi API, który wymaga weryfikacji z identyfikatora Entra firmy Microsoft w celu wywołania interfejsu API podrzędnego.

Animowany diagram przedstawia dwa diagramy z przejściem ruchu między pierwszym diagramem a drugim diagramem. Tytuł pierwszego diagramu: Oryginalny interfejs API nie może użyć tokenu do wywołania interfejsu API podrzędnego. Pierwsze składniki diagramu: reprezentacja chmury jest wyświetlana w górnej części slajdu otaczającego ikonę identyfikatora Entra firmy Microsoft. W lewym dolnym rogu kształt prostokąta reprezentuje aplikację kliencką. Poniżej prostokąta Aplikacja kliencka znajduje się sześciokątny kształt oznaczony jako "ID", który reprezentuje token identyfikatora. W dolnej części ikona w kształcie kostki, kształt chmury i ikona świata reprezentują oryginalny interfejs API. Strzałka łączy kształty po lewej stronie z kształtami w środku. Nad strzałką w lewo i poniżej kształtu chmury znajduje się sześciokątny kształt oznaczony jako "A", który reprezentuje token dostępu. W prawym dolnym rogu ikona w kształcie modułu, kształt chmury i ikona świata reprezentują interfejs API podrzędnego. Po lewej stronie etykieta kształtu kwadratowego to "Wymagana autoryzacja". Strzałka łączy kształty w środku z kształtami po prawej stronie. Drugi tytuł diagramu: Oryginalny interfejs API wraca do identyfikatora Entra firmy Microsoft. Drugi podtytuł diagramu: wymaga tokenu dostępu w celu wywołania interfejsu API podrzędnego w imieniu użytkownika. Drugie składniki diagramu: reprezentacja chmury jest wyświetlana w górnym środku slajdu otaczającego ikonę identyfikatora Entra firmy Microsoft. W lewym dolnym rogu kształt prostokąta reprezentuje aplikację kliencką. Poniżej prostokąta Aplikacja kliencka znajduje się sześciokątny kształt oznaczony jako "ID", który reprezentuje token identyfikatora. W dolnej części ikona w kształcie kostki, kształt chmury i ikona świata reprezentują oryginalny interfejs API. Strzałka łączy kształty po lewej stronie z kształtami w środku. Nad strzałką w lewo i poniżej kształtu chmury znajduje się sześciokątny kształt oznaczony jako "A", który reprezentuje token dostępu. Nad kształtami oryginalnego interfejsu API strzałka łączy je z kształtem chmury Microsoft Entra. W prawym dolnym rogu ikona w kształcie modułu, kształt chmury i ikona świata reprezentują interfejs API podrzędnego. Po lewej stronie etykieta kształtu kwadratowego to "Wymagana autoryzacja". Strzałka łączy kształty w środku z kształtami po prawej stronie.

Następna animacja przedstawia oryginalny interfejs API dostarczający token, który oryginalny interfejs API otrzymał od aplikacji klienckiej i poświadczeń klienta oryginalnego interfejsu API.

Animowany diagram przedstawia aplikację klienta dającą token dostępu oryginalnemu interfejsowi API, który odbiera walidację z identyfikatora Entra firmy Microsoft w celu wywołania interfejsu API podrzędnego.

Animowany diagram przedstawia dwa diagramy z przejściem ruchu między pierwszym diagramem a drugim diagramem. Tytuł pierwszego diagramu: Oryginalny interfejs API wraca do identyfikatora Entra firmy Microsoft. Podtytuł pierwszego diagramu: wymaga tokenu dostępu w celu wywołania interfejsu API podrzędnego w imieniu użytkownika. Pierwsze składniki diagramu: reprezentacja chmury jest wyświetlana w górnej części slajdu otaczającego ikonę identyfikatora Entra firmy Microsoft. W lewym dolnym rogu kształt prostokąta reprezentuje aplikację kliencką. Poniżej prostokąta Aplikacja kliencka znajduje się sześciokątny kształt oznaczony jako "ID", który reprezentuje token identyfikatora. W dolnej części ikona w kształcie kostki, kształt chmury i ikona świata reprezentują oryginalny interfejs API. Strzałka łączy kształty po lewej stronie z kształtami w środku. Nad strzałką w lewo i poniżej kształtu chmury znajduje się sześciokątny kształt oznaczony jako "A", który reprezentuje token dostępu. Nad kształtami oryginalnego interfejsu API strzałka łączy je z kształtem chmury Microsoft Entra. W prawym dolnym rogu ikona w kształcie modułu, kształt chmury i ikona świata reprezentują interfejs API podrzędnego. Po lewej stronie etykieta kształtu kwadratowego to "Wymagana autoryzacja". Strzałka łączy kształty w środku z kształtami po prawej stronie. Drugi tytuł diagramu: Oryginalny interfejs API wraca do identyfikatora Entra firmy Microsoft. Drugi podtytuł diagramu: udostępnia token z aplikacji klienckiej i poświadczenia oryginalnego interfejsu API. Drugie składniki diagramu: reprezentacja chmury jest wyświetlana w górnym środku slajdu otaczającego ikonę identyfikatora Entra firmy Microsoft. W lewym dolnym rogu kształt prostokąta reprezentuje aplikację kliencką. Poniżej prostokąta Aplikacja kliencka znajduje się sześciokątny kształt oznaczony jako "ID", który reprezentuje token identyfikatora. W dolnej części ikona w kształcie kostki, kształt chmury i ikona świata reprezentują oryginalny interfejs API. Strzałka łączy kształty po lewej stronie z kształtami w środku. Nad kształtami oryginalnego interfejsu API strzałka łączy je z kształtem chmury Microsoft Entra. Po lewej stronie tej strzałki po lewej stronie i poniżej kształtu chmury znajduje się sześciokątny kształt oznaczony jako "A", który reprezentuje token dostępu. Poniżej tokenu dostępu znajduje się kształt klucza. W prawym dolnym rogu ikona w kształcie modułu, kształt chmury i ikona świata reprezentują interfejs API podrzędnego. Po lewej stronie etykieta kształtu kwadratowego to "Wymagana autoryzacja". Strzałka łączy kształty w środku z kształtami po prawej stronie.

Identyfikator Entra firmy Microsoft sprawdzi, czy nie ma takiej rzeczy jak zgoda lub wymuszanie dostępu warunkowego. Być może trzeba będzie wrócić do klienta wywołującego i podać przyczynę braku możliwości uzyskania tokenu. Zazwyczaj należy użyć procesu żądania oświadczeń, aby wrócić do aplikacji wywołującej z informacjami dotyczącymi braku zgody (na przykład związanych z zasadami dostępu warunkowego).

Identyfikator Entra firmy Microsoft wykonuje kontrole

W poniższej animacji identyfikator Entra firmy Microsoft wykonuje testy. Jeśli wszystko jest w porządku, identyfikator Entra firmy Microsoft wystawi token dostępu do oryginalnego interfejsu API w celu wywołania interfejsu API podrzędnego w imieniu użytkownika.

Animowany diagram przedstawia oryginalny interfejs API dający token dostępu do interfejsu API podrzędnego po weryfikacji przy użyciu identyfikatora Entra firmy Microsoft.

Animowany diagram przedstawia dwa diagramy z przejściem ruchu między pierwszym diagramem a drugim diagramem. Tytuł pierwszego diagramu: Oryginalny interfejs API wraca do identyfikatora Entra firmy Microsoft. Pierwszy podtytuł diagramu: udostępnia token z aplikacji klienckiej i poświadczenia oryginalnego interfejsu API. Pierwsze składniki diagramu: reprezentacja chmury jest wyświetlana w górnej części slajdu otaczającego ikonę identyfikatora Entra firmy Microsoft. W lewym dolnym rogu kształt prostokąta reprezentuje aplikację kliencką. Poniżej prostokąta Aplikacja kliencka znajduje się sześciokątny kształt oznaczony jako "ID", który reprezentuje token identyfikatora. W dolnej części ikona w kształcie kostki, kształt chmury i ikona świata reprezentują oryginalny interfejs API. Strzałka łączy kształty po lewej stronie z kształtami w środku. Nad kształtami oryginalnego interfejsu API strzałka łączy je z kształtem chmury Microsoft Entra. Po lewej stronie tej strzałki po lewej stronie i poniżej kształtu chmury znajduje się sześciokątny kształt oznaczony jako "A", który reprezentuje token dostępu. Poniżej tokenu dostępu znajduje się kształt klucza. W prawym dolnym rogu ikona w kształcie modułu, kształt chmury i ikona świata reprezentują interfejs API podrzędnego. Po lewej stronie etykieta kształtu kwadratowego to "Wymagana autoryzacja". Strzałka łączy kształty w środku z kształtami po prawej stronie. Drugi tytuł diagramu: Microsoft Entra ID sprawdza dostęp warunkowy, zgodę itp. Drugi podtytuł diagramu: Oryginalny interfejs API otrzymuje własny token dostępu w celu wywołania interfejsu API podrzędnego w imieniu użytkownika, który zalogował się do aplikacji klienckiej. Drugie składniki diagramu: reprezentacja chmury jest wyświetlana w górnym środku slajdu otaczającego ikonę identyfikatora Entra firmy Microsoft. W lewym dolnym rogu kształt prostokąta reprezentuje aplikację kliencką. Poniżej prostokąta Aplikacja kliencka znajduje się sześciokątny kształt oznaczony jako "ID", który reprezentuje token identyfikatora. W dolnej części ikona w kształcie kostki, kształt chmury i ikona świata reprezentują oryginalny interfejs API. Strzałka łączy kształty po lewej stronie z kształtami w środku. Nad kształtami oryginalnego interfejsu API strzałka łączy je z kształtem chmury Microsoft Entra. W prawym dolnym rogu ikona w kształcie modułu, kształt chmury i ikona świata reprezentują interfejs API podrzędnego. Po lewej stronie etykieta kształtu kwadratowego to "Wymagana autoryzacja". Strzałka łączy kształty w środku z kształtami po prawej stronie. Powyżej tej strzałki po prawej stronie kształtów oryginalnego interfejsu API znajduje się sześciokątny kształt oznaczony jako "A", który reprezentuje token dostępu.

Oryginalny interfejs API ma kontekst użytkownika z przepływem On-Behalf-Of

Poniższa animacja ilustruje proces przepływu On-Behalf-Of ( OBO), który umożliwia interfejsowi API dalsze używanie kontekstu użytkownika podczas wywoływanego interfejsu API podrzędnego.

Animowany diagram przedstawia oryginalny interfejs API dający token dostępu do interfejsu API podrzędnego.

Animowany diagram przedstawia dwa diagramy z przejściem ruchu między pierwszym diagramem a drugim diagramem. Tytuł pierwszego diagramu: Proces przepływu On-Behalf-Of umożliwia oryginalnemu interfejsowi API kontynuowanie kontekstu użytkownika podczas wywoływanego interfejsu API podrzędnego. Pierwsze składniki diagramu: w lewym dolnym rogu kształt prostokąta reprezentuje aplikację kliencką. Poniżej prostokąta Aplikacja kliencka znajduje się sześciokątny kształt oznaczony jako "ID", który reprezentuje token identyfikatora. W dolnej części ikona w kształcie kostki, kształt chmury i ikona świata reprezentują oryginalny interfejs API. Strzałka łączy kształty po lewej stronie z kształtami w środku. W prawym dolnym rogu ikona w kształcie modułu, kształt chmury i ikona świata reprezentują interfejs API podrzędnego. Po lewej stronie etykieta kształtu kwadratowego to "Wymagana autoryzacja". Strzałka łączy kształty w środku z kształtami po prawej stronie. Powyżej tej strzałki po prawej stronie kształtów oryginalnego interfejsu API znajduje się sześciokątny kształt oznaczony jako "A", który reprezentuje token dostępu. Drugi tytuł diagramu: Proces przepływu On-Behalf-Of umożliwia oryginalnemu interfejsowi API kontynuowanie kontekstu użytkownika podczas wywoływanego interfejsu API podrzędnego. Drugie składniki diagramu: w lewym dolnym rogu ikona w kształcie modułu, kształt chmury i ikona świata reprezentują oryginalny interfejs API. W prawym dolnym rogu ikona w kształcie modułu, kształt chmury i ikona świata reprezentują interfejs API podrzędnego. Po lewej stronie etykieta kształtu kwadratowego to "Wymagana autoryzacja". Strzałka łączy kształty po lewej stronie z kształtami po prawej stronie. Powyżej tej strzałki po prawej stronie kształtów oryginalnego interfejsu API znajduje się sześciokątny kształt oznaczony jako "A", który reprezentuje token dostępu.

Oryginalne wywołania interfejsu API podrzędnego interfejsu API

W następnej animacji wywołujemy interfejs API podrzędny. Token odbierany przez interfejs API podrzędnego będzie miał odpowiednie oświadczenie odbiorców (aud), które wskazuje interfejs API podrzędnego.

Animowany diagram przedstawia interfejs API podrzędnego sprawdzania poprawności tokenu dostępu z oryginalnego interfejsu API.

Animowany diagram przedstawia dwa diagramy z przejściem ruchu między pierwszym diagramem a drugim diagramem. Tytuł pierwszego diagramu: Proces przepływu On-Behalf-Of umożliwia oryginalnemu interfejsowi API kontynuowanie kontekstu użytkownika podczas wywoływanego interfejsu API podrzędnego. Pierwsze składniki diagramu: w lewym dolnym rogu ikona w kształcie modułu, kształt chmury i ikona świata reprezentują oryginalny interfejs API. W prawym dolnym rogu ikona w kształcie modułu, kształt chmury i ikona świata reprezentują interfejs API podrzędnego. Po lewej stronie etykieta kształtu kwadratowego to "Wymagana autoryzacja". Strzałka łączy kształty po lewej stronie z kształtami po prawej stronie. Powyżej tej strzałki po prawej stronie kształtów oryginalnego interfejsu API znajduje się sześciokątny kształt oznaczony jako "A", który reprezentuje token dostępu. Drugi tytuł diagramu: wywoływany jest interfejs API podrzędny. Drugi podtytuł diagramu: token odbierany przez interfejs API podrzędnego ma odpowiednie oświadczenia, aby zidentyfikować użytkownika aplikacji klienckiej. Drugie składniki diagramu: w lewym dolnym rogu ikona w kształcie modułu, kształt chmury i ikona świata reprezentują oryginalny interfejs API. W prawym dolnym rogu ikona w kształcie modułu, kształt chmury i ikona świata reprezentują interfejs API podrzędnego. Po lewej stronie etykieta kształtu kwadratowego to "Wymagana autoryzacja". Strzałka łączy kształty po lewej stronie z kształtami po prawej stronie. Powyżej tej strzałki po lewej stronie kształtu Wymagane autoryzacja jest sześciokątny kształt oznaczony jako "A", który reprezentuje token dostępu.

Token będzie zawierać zakresy udzielonej zgody i oryginalną tożsamość użytkownika aplikacji. Interfejs API podrzędny może prawidłowo zaimplementować skuteczne uprawnienia, aby upewnić się, że zidentyfikowany użytkownik ma uprawnienia do wykonania żądanego zadania. Użyj elementu w imieniu przepływu, aby uzyskać tokeny dla interfejsu API w celu wywołania innego interfejsu API, aby upewnić się, że kontekst użytkownika przechodzi do wszystkich podrzędnych interfejsów API.

Najlepsza opcja: Oryginalny interfejs API wykonuje przepływ On-Behalf-Of

Ta ostatnia animacja pokazuje, że najlepszą opcją jest oryginalny interfejs API do wykonania przepływu On-Behalf-Of (OBO). Jeśli interfejs API podrzędny otrzyma prawidłowy token, będzie mógł poprawnie odpowiedzieć.

Animowany diagram przedstawia podrzędny interfejs API odbierający token dostępu z oryginalnego interfejsu API.

Animowany diagram przedstawia dwa diagramy z przejściem ruchu między pierwszym diagramem a drugim diagramem. Tytuł pierwszego diagramu: wywoływany jest interfejs API podrzędny. Podtytuł pierwszego diagramu: token odbierany przez interfejs API podrzędnego ma odpowiednie oświadczenia, aby zidentyfikować użytkownika aplikacji klienckiej. Pierwsze składniki diagramu: w lewym dolnym rogu ikona w kształcie modułu, kształt chmury i ikona świata reprezentują oryginalny interfejs API. W prawym dolnym rogu ikona w kształcie modułu, kształt chmury i ikona świata reprezentują interfejs API podrzędnego. Po lewej stronie etykieta kształtu kwadratowego to "Wymagana autoryzacja". Strzałka łączy kształty po lewej stronie z kształtami po prawej stronie. Powyżej tej strzałki po lewej stronie kształtu Wymagane autoryzacja jest sześciokątny kształt oznaczony jako "A", który reprezentuje token dostępu. Drugi tytuł diagramu: najlepszą opcją jest wykonanie interfejsu API oryginalnego "w imieniu przepływu". Jeśli interfejs API podrzędny otrzyma prawidłowy token, będzie mógł poprawnie odpowiedzieć. Drugie składniki diagramu: w lewym dolnym rogu ikona w kształcie modułu, kształt chmury i ikona świata reprezentują oryginalny interfejs API. W prawym dolnym rogu ikona w kształcie modułu, kształt chmury i ikona świata reprezentują interfejs API podrzędnego. Strzałka łączy kształty po lewej stronie z kształtami po prawej stronie. Powyżej tej strzałki po lewej stronie kształtów interfejsu API podrzędnego znajduje się sześciokątny kształt oznaczony jako "A", który reprezentuje token dostępu.

Gdy interfejs API działa w imieniu użytkownika i musi wywołać inny interfejs API, interfejs API musi używać OBO do uzyskania delegowanego tokenu dostępu uprawnień w celu wywołania interfejsu API podrzędnego w imieniu użytkownika. Interfejsy API nigdy nie powinny używać uprawnień aplikacji do wywoływania podrzędnych interfejsów API, gdy interfejs API działa w imieniu użytkownika.

Następne kroki