Połącz z Microsoft Entra ID za pomocą OpenID Connect
FoxIDs można połączyć z Microsoft Entra ID przy użyciu OpenID Connect, aby uwierzytelniać użytkowników końcowych w tenancie Microsoft Entra ID.
Możesz podłączyć zarówno aplikację Microsoft Entra ID single tenant, jak i multitenant jako metodę uwierzytelniania w FoxIDs przy użyciu OpenID Connect.
Bardziej złożony wariant to odczyt claimów z access tokenu.
Jeśli skonfigurujesz App roles, zostaną zwrócone w claimie roles.
Logowanie Microsoft Entra ID możesz przetestować w przykładowej aplikacji online (dokumentacja przykładu), klikając
Log in, a następnieMicrosoft Entra ID. Zobacz konfigurację przykładu Microsoft Entra ID w FoxIDs Control: https://control.foxids.com/test-corp Uzyskaj dostęp do odczytu użytkownikiemreader@foxids.comi hasłemgEh#V6kSw, a następnie wybierz środowiskoProductioni kartęAuthentication.
Skonfiguruj single tenant
Ten rozdział opisuje, jak skonfigurować połączenie Microsoft Entra ID single tenant z przepływem OpenID Connect Authorization Code i PKCE, który jest zalecanym przepływem OpenID Connect.
1 - Zacznij od utworzenia metody uwierzytelniania OpenID Connect w FoxIDs Control Client
- Dodaj nazwę
- Wybierz show advanced
- Wybierz wzorzec wiązania URL z tyldami

Teraz możesz odczytać Redirect URL i Front channel logout URL.
2 - Następnie przejdź do Azure Portal i utwórz aplikację Microsoft Entra ID
- Dodaj nazwę
- Wybierz single tenant
- (To aplikacja webowa) Dodaj
Redirect URLmetody uwierzytelniania FoxIDs - Kliknij Register
- Skopiuj Application (client) ID
- Skopiuj Directory (tenant) ID
- Przejdź do karty Authentication i dodaj
Front channel logout URLmetody uwierzytelniania FoxIDs, kliknij save - Przejdź do karty Certificates & secrets, kliknij New client secret i dodaj sekret
- Opcjonalnie użyj certyfikatu klienta zamiast sekretu
- Skopiuj wartość client secret (nie secret ID)
- Przejdź do karty Token configuration i kliknij Add optional claims. Następnie wybierz ID (dodawanie claimów do tokenu ID) i zaznacz
email,family_name,given_name,ipaddr,preferred_username, po czym kliknij Add dwa razy.
3 - Wróć do metody uwierzytelniania FoxIDs w FoxIDs Control Client
- Dodaj authority, czyli
https://login.microsoftonline.com/{Microsoft Entra ID tenant ID}/v2.0(np.https://login.microsoftonline.com/82B2EBAE-5864-4C9F-8F78-40CB172BC7E1/v2.0) - Dodaj client ID Microsoft Entra ID jako niestandardowy SP client ID
- Dodaj zakresy
profileiemail(opcjonalnie inne lub więcej zakresów) - Dodaj wartość client secret Microsoft Entra ID jako client secret
- Opcjonalnie wybierz show advanced, zmień metodę uwierzytelniania klienta na
private key JWTi prześlij certyfikat klienta
- Opcjonalnie wybierz show advanced, zmień metodę uwierzytelniania klienta na
- Wybierz używanie claimów z tokenu ID
- Dodaj claimy, które będą przekazywane z metody uwierzytelniania do rejestracji aplikacji, np.
preferred_username,email,name,given_name,family_name,oid,ipaddroraz ewentualnie claimaccess_token, aby przekazywać access token Microsoft Entra ID do rejestracji aplikacji. - Wybierz
Now Front channel logout session required - Kliknij create
To wszystko, gotowe.
Możesz zobaczyć claimy zwracane przez aplikację Microsoft Entra ID w logu FoxIDs, zmieniając ustawienia logowania na logowanie claimów oraz opcjonalnie całej wiadomości, a następnie zdekodować otrzymane JWT.
Nowa metoda uwierzytelniania może zostać wybrana jako dozwolona metoda uwierzytelniania w rejestracji aplikacji. Rejestracja aplikacji może odczytywać claimy z metody uwierzytelniania. Można dodać claim access_token, aby uwzględnić access token Microsoft Entra ID jako claim w wystawianym access tokenie.
Skonfiguruj multitenant
Ten rozdział opisuje, jak skonfigurować połączenie Microsoft Entra ID multitenant z przepływem OpenID Connect Authorization Code i PKCE.
Konfiguracja multitenant nieco różni się od konfiguracji single tenant.
1 - Portal Microsoft Entra ID
- Podczas tworzenia aplikacji wybierz multitenant
2 - Metoda uwierzytelniania FoxIDs w FoxIDs Control Client
- Dodaj authority
https://login.microsoftonline.com/common/v2.0 - Wybierz edit issuer
- Zmień issuer na
https://login.microsoftonline.com/{Microsoft Entra ID tenant ID}/v2.0(np.https://login.microsoftonline.com/82B2EBAE-5864-4C9F-8F78-40CB172BC7E1/v2.0), gdzie wstawiasz tenant ID Microsoft Entra ID. Możesz dodać wiele issuerów i w ten sposób ufać wielu tenantom Azure. Albo możesz użyć wildcard*bez niczego więcej, aby akceptować wszystkich issuerów; zaakceptowany issuer jest dodawany w claimieauth_method_issuer.
Odczyt claimów z access tokenu
Jeśli chcesz odczytywać claimy z access tokenu, musisz dodać dodatkową aplikację Microsoft Entra ID jako zasób (API). Pierwsza aplikacja Microsoft Entra ID jest klientem.
1 - W Azure Portal
- Utwórz aplikację Microsoft Entra ID dla zasobu
- Wystaw zakres z aplikacji zasobu i przyznaj aplikacji klienta zakres aplikacji zasobu
2 - Następnie przejdź do FoxIDs Control Client
- Wybierz show advanced
- Wybierz edit issuer
- Dodaj issuer access tokenu
https://sts.windows.net/{Microsoft Entra ID tenant ID}/(np.https://sts.windows.net/82B2EBAE-5864-4C9F-8F78-40CB172BC7E1/), gdzie wstawiasz tenant ID Microsoft Entra ID - Dodaj zakres aplikacji zasobu jako zakres w kliencie metody uwierzytelniania FoxIDs
- Odczytuj claimy z access tokenu, nie wybierając używania claimów z tokenu ID
W tym przypadku access token jest wystawiony przez tego samego OP (IdP) i dlatego jest akceptowany.
App roles
Jeśli skonfigurujesz App roles w aplikacji Microsoft Entra ID w karcie App roles,
role są zwracane w claimie roles w tokenie ID dla użytkowników przypisanych do roli.
Jeśli odczytujesz claimy z access tokenu, role muszą być zdefiniowane w aplikacji Microsoft Entra ID dla zasobu (API).
W FoxIDs Control Client
- Role są zwracane w claimie
roles, które można zmienić na claimrole(bez „s”) przez dodanie transformacji mapowania claimów. Wpiszrolew New claim, ustaw action na replace claim i wpiszrolesw Select claim - Dodaj claim
roledo claimów, które będą przekazywane z metody uwierzytelniania do rejestracji aplikacji
Pamiętaj, aby dodać także claim
rolew rejestracji aplikacji, aby był wystawiany do aplikacji.