Omówienie niestandardowych rozszerzeń uwierzytelniania

Ten artykuł zawiera ogólne omówienie techniczne rozszerzeń uwierzytelniania niestandardowego dla identyfikatora Entra firmy Microsoft. Niestandardowe rozszerzenia uwierzytelniania umożliwiają dostosowanie środowiska uwierzytelniania firmy Microsoft Entra przez integrację z systemami zewnętrznymi.

Na poniższym diagramie przedstawiono przepływ logowania zintegrowany z niestandardowym rozszerzeniem uwierzytelniania.

Diagram przedstawiający token rozszerzony o oświadczenia ze źródła zewnętrznego.

  1. Użytkownik próbuje zalogować się do aplikacji i jest przekierowywany do strony logowania microsoft Entra.
  2. Gdy użytkownik ukończy określony krok uwierzytelniania, zostanie wyzwolony odbiornik zdarzeń.
  3. Niestandardowe rozszerzenie uwierzytelniania wysyła żądanie HTTP do punktu końcowego interfejsu API REST. Żądanie zawiera informacje o zdarzeniu, profilu użytkownika, danych sesji i innych informacjach kontekstowych.
  4. Interfejs API REST wykonuje niestandardowy przepływ pracy.
  5. Interfejs API REST zwraca odpowiedź HTTP na identyfikator Entra firmy Microsoft.
  6. Niestandardowe rozszerzenie uwierzytelniania firmy Microsoft przetwarza odpowiedź i dostosowuje uwierzytelnianie na podstawie typu zdarzenia i ładunku odpowiedzi HTTP.
  7. Token jest zwracany do aplikacji.

Punkt końcowy interfejsu API REST rozszerzenia niestandardowego uwierzytelniania

Gdy zdarzenie zostanie wyzwolony, identyfikator Entra firmy Microsoft wywołuje własny punkt końcowy interfejsu API REST. Żądanie do interfejsu API REST zawiera informacje o zdarzeniu, profilu użytkownika, danych żądania uwierzytelniania i innych informacjach kontekstowych.

Do tworzenia i hostowania niestandardowych rozszerzeń uwierzytelniania interfejsu API REST można użyć dowolnego języka programowania, struktury i środowiska hostingu. Aby szybko rozpocząć pracę, użyj funkcji platformy Azure w języku C#. Usługa Azure Functions umożliwia uruchamianie kodu w środowisku bezserwerowym bez konieczności uprzedniego tworzenia maszyny wirtualnej lub publikowania aplikacji internetowej.

Interfejs API REST musi obsługiwać:

  • Weryfikacja tokenu na potrzeby zabezpieczania wywołań interfejsu API REST.
  • Logika biznesowa
  • Przychodząca i wychodząca walidacja schematów żądań HTTP i odpowiedzi.
  • Inspekcja i rejestrowanie.
  • Dostępność, wydajność i mechanizmy zabezpieczeń.

W przypadku deweloperów korzystających z interfejsu API REST w usłudze Azure Functions rozważ użycie biblioteki NuGet Microsoft.Azure.WebJobs.Extensions.AuthenticationEvents , która ułatwia implementację weryfikacji tokenu przy użyciu wbudowanych funkcji uwierzytelniania platformy Microsoft Azure. Udostępnia model danych dla różnych typów zdarzeń, inicjuje przychodzące i wychodzące żądania i przetwarzanie odpowiedzi, dzięki czemu można skupić się na logice biznesowej.

Ochrona interfejsu API REST

Aby zapewnić odpowiednią ochronę komunikacji między niestandardowym rozszerzeniem uwierzytelniania i interfejsem API REST, należy zastosować wiele mechanizmów kontroli zabezpieczeń.

  1. Gdy niestandardowe rozszerzenie uwierzytelniania wywołuje interfejs API REST, wysyła nagłówek HTTP Authorization z tokenem elementu nośnego wystawionym przez identyfikator Entra firmy Microsoft.
  2. Token elementu nośnego appid zawiera oświadczenie lub .azp Sprawdź, czy odpowiednie oświadczenie zawiera 99045fe1-7639-4a75-9d4a-577b6ca3810f wartość. Ta wartość gwarantuje, że identyfikator Entra firmy Microsoft jest tym, który wywołuje interfejs API REST.
    1. W przypadku aplikacji w wersji 1 zweryfikuj appid oświadczenie.
    2. W przypadku aplikacji w wersji 2 zweryfikuj azp oświadczenie.
  3. Oświadczenie odbiorców tokenu aud elementu nośnego zawiera identyfikator skojarzonej rejestracji aplikacji. Punkt końcowy interfejsu API REST musi sprawdzić, czy token elementu nośnego jest wystawiony dla tej konkretnej grupy odbiorców.
  4. Oświadczenie wystawcy tokenu iss elementu nośnego zawiera adres URL wystawcy entra firmy Microsoft. W zależności od konfiguracji dzierżawy adres URL wystawcy będzie jednym z następujących elementów:
    • Pracownicy: https://login.microsoftonline.com/{tenantId}/v2.0.
    • Klient: https://{domainName}.ciamlogin.com/{tenantId}/v2.0.

Niestandardowy dostawca oświadczeń

Niestandardowy dostawca oświadczeń jest typem niestandardowego rozszerzenia uwierzytelniania, które wywołuje interfejs API REST w celu pobrania oświadczeń z systemów zewnętrznych. Niestandardowy dostawca oświadczeń mapuje oświadczenia z systemów zewnętrznych na tokeny i może być przypisany do jednej lub wielu aplikacji w katalogu.

Dowiedz się więcej o dostawcach oświadczeń niestandardowych.

Rozpoczynanie i przesyłanie zdarzeń kolekcji atrybutów

Kolekcji atrybutów można uruchamiać i przesyłać zdarzenia z niestandardowymi rozszerzeniami uwierzytelniania, aby dodać logikę przed i po zebraniu atrybutów od użytkownika. Na przykład możesz dodać przepływ pracy, aby zweryfikować atrybuty wprowadzane przez użytkownika podczas rejestracji. Zdarzenie OnAttributeCollectionStart występuje na początku kroku kolekcji atrybutów przed renderowaniem strony kolekcji atrybutów. Umożliwia dodawanie akcji, takich jak wstępne wypełnianie wartości i wyświetlanie błędu blokowania. Zdarzenie OnAttributeCollectionSubmit jest wyzwalane po wprowadzeniu i przesłaniu atrybutów przez użytkownika, co umożliwia dodawanie akcji, takich jak weryfikowanie wpisów lub modyfikowanie atrybutów.

Uwaga

Zdarzenia uruchamiania i przesyłania kolekcji atrybutów są obecnie dostępne tylko dla przepływów użytkowników w Tożsamość zewnętrzna Microsoft Entra w dzierżawach zewnętrznych. Aby uzyskać szczegółowe informacje, zobacz Dodawanie własnej logiki biznesowej.

Zobacz też