Rejestrowanie aplikacji
Ćwiczenie — rejestrowanie aplikacji
Aby umożliwić aplikacji logowanie się przy użyciu Tożsamość zewnętrzna Microsoft Entra, musisz zarejestrować aplikację w katalogu.
Uwaga
Do zarejestrowania aplikacji potrzebna będzie co najmniej rola katalogu dewelopera aplikacji.
Ta rola jest rolą uprzywilejowaną. Przeczytaj o najlepszych rozwiązaniach dotyczących pracy z rolami uprzywilejowanymi.
Czy masz opinię? Daj nam znać, jak będzie przebiegał projekt weryfikacji koncepcji. Z przyjemnością poznamy opinie użytkowników.
Aby zarejestrować własną aplikację, zaloguj się do centrum administracyjnego firmy Microsoft Entra i przejdź do pozycji Aplikacje> Rejestracje aplikacji. Następnie wybierz pozycję + Nowa rejestracja.
Na wyświetlonej stronie Rejestrowanie aplikacji wprowadź znaczącą nazwę aplikacji wyświetlaną użytkownikom aplikacji, na przykład Woodgrove Groceries. W obszarze Obsługiwane typy kont wybierz pozycję Konta tylko w tym katalogu organizacyjnym. W polu Platforma wybierz opcję Sieć Web i wprowadź identyfikator URI przekierowania aplikacji. Identyfikator URI przekierowania to punkt końcowy, do którego użytkownicy są przekierowywani przez Tożsamość zewnętrzna Microsoft Entra po zakończeniu uwierzytelniania za pomocą Tożsamość zewnętrzna Microsoft Entra.
Po pomyślnej rejestracji zostanie wyświetlone okienko Przegląd aplikacji. Zarejestruj identyfikator aplikacji (klienta), który ma być używany w kodzie źródłowym aplikacji.
Aby dodać więcej identyfikatorów URI przekierowania lub adresu URL wylogowywania kanału frontonu, w obszarze Zarządzanie wybierz pozycję Uwierzytelnianie. Adres URL wylogowywania kanału frontonu to miejsce, w którym wysyłamy żądanie, aby aplikacja wyczyściła dane sesji użytkownika. Jest to wymagane, aby logowanie jednokrotne działało poprawnie.
Aby aplikacja internetowa (poufnego klienta) uzyskała token dostępu, potrzebuje poświadczeń, aby udowodnić swoją tożsamość identyfikatorowi Entra firmy Microsoft. Certyfikaty, wpisy tajne klienta (ciąg) lub poświadczenia tożsamości federacyjnej można dodawać jako poświadczenia do poufnej rejestracji aplikacji klienckiej. W witrynie internetowej sklepów spożywczych użyjemy certyfikatu. Aby dodać certyfikat, wybierz pozycję Certyfikaty>i wpisy tajne>Przekaż certyfikat.
Wybierz plik, który chcesz przekazać. Plik musi być plikiem typu cer, pem lub crt. Następnie wybierz pozycję Dodaj.
W poniższych krokach dodasz wymagane uprawnienie dla aplikacji internetowej. W obszarze Zarządzanie wybierz pozycję Uprawnienia interfejsu API, a następnie wybierz pozycję Dodaj uprawnienie.
W obszarze Żądanie uprawnień interfejsu API wybierz kartę Interfejsy API firmy Microsoft, a następnie wybierz pozycję Microsoft Graph.
Wybierz opcję Uprawnienia delegowane. Następnie w sekcji Wybierz uprawnienia wyszukaj i wybierz zarówno uprawnienia openid , jak i offline_access . Aby ukończyć, wybierz pozycję Dodaj uprawnienia.
W tym momencie przypisano uprawnienia poprawnie. Jednak ponieważ dzierżawa jest dzierżawą zewnętrzną, użytkownicy konsumentów nie mogą wyrazić zgody na te uprawnienia. Administrator musi wyrazić zgodę na te uprawnienia w imieniu wszystkich użytkowników w dzierżawie: wybierz pozycję Udziel zgody administratora dla
<your tenant name>
elementu , a następnie wybierz pozycję Tak.Dobra robota! Teraz aplikacja jest gotowa do użycia.
1. Rejestrowanie aplikacji
Aby zarejestrować aplikację internetową, użyj poniższego żądania programu Microsoft Graph i zastąp następujące wartości.
Wartość displayName z wyświetloną nazwą aplikacji. Na przykład Woodgrove Groceries.
Wartości identyfikatorów redirectUri z identyfikatorem URI przekierowania aplikacji. Na przykład https://woodgrovedemo.com/signin-oidc. Możesz również użyć polecenia https://www.jwt.ms/.
POST https://graph.microsoft.com/v1.0/applications { "displayName": "Woodgrove Groceries", "description": "Woodgrove Groceries live demo application", "signInAudience": "AzureADMyOrg", "api": { "acceptMappedClaims": true, "requestedAccessTokenVersion": 2 }, "requiredResourceAccess": [ { "resourceAppId": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1", "resourceAccess": [ { "id": "b1b1b1b1-cccc-dddd-eeee-f2f2f2f2f2f2", "type": "Scope" }, { "id": "c2c2c2c2-dddd-eeee-ffff-a3a3a3a3a3a3", "type": "Scope" } ] } ], "web": { "redirectUris": [ "https://woodgrovedemo.com/signin-oidc" ], "implicitGrantSettings": { "enableAccessTokenIssuance": false, "enableIdTokenIssuance": false } } }
1.1 Kopiowanie identyfikatora aplikacji
Z odpowiedzi skopiuj wartość appId. Na przykład:
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#applications/$entity",
"id": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
"appId": "00001111-aaaa-2222-bbbb-3333cccc4444",
"displayName": "Woodgrove Groceries",
"description": "Woodgrove Groceries live demo application",
...
}
2. Tworzenie jednostki usługi dla aplikacji
Po zarejestrowaniu aplikacji utwórz jednostkę usługi. Następujące wywołanie programu Graph tworzy jednostkę usługi. Zastąp element {appId} identyfikatorem appId aplikacji z poprzedniego wywołania (a nie identyfikatorem obiektu).
POST https://graph.microsoft.com/v1.0/servicePrincipals
{
"appId": "{appId}"
}
2.1 Kopiowanie identyfikatora jednostki usługi
Z odpowiedzi skopiuj wartość identyfikatora. Na przykład:
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#servicePrincipals/$entity",
"id": "bbbbbbbb-1111-2222-3333-cccccccccccc",
"displayName": "Woodgrove Groceries",
"description": "Woodgrove Groceries live demo application",
...
}
3. Zgoda na wymagane uprawnienia
Ponieważ dzierżawa jest dzierżawą zewnętrzną, użytkownicy konsumentów nie mogą wyrazić zgody na te uprawnienia. Administrator musi wyrazić zgodę na te uprawnienia w imieniu wszystkich użytkowników w dzierżawie.
3.1 Uzyskiwanie identyfikatora jednostki usługi programu Microsoft Graph
Uruchom następujące żądanie GET i skopiuj identyfikator z odpowiedzi:
GET https://graph.microsoft.com/v1.0/servicePrincipals(appId='22223333-cccc-4444-dddd-5555eeee6666')
{
"id": "cccccccc-2222-3333-4444-dddddddddddd",
"appDisplayName": "Microsoft Graph",
"appId": "22223333-cccc-4444-dddd-5555eeee6666"
}
3.2 Udzielanie wymaganych uprawnień
Zastąp element {service-principal-id} identyfikatorem jednostki usługi skopiowanym w poprzednim kroku. Zastąp element {graph-service-principal-id} identyfikatorem jednostki usługi skopiowanym w ostatnim kroku.
POST https://graph.microsoft.com/v1.0/oauth2PermissionGrants
{
"clientId": "{service-principal-id}",
"consentType": "AllPrincipals",
"resourceId": "{graph-service-principal-id}",
"scope": "openid offline_access"
}
4. (Opcjonalnie) Dodawanie wpisu tajnego klienta
Poświadczenia umożliwiają aplikacjom poufnym identyfikowanie się w usłudze uwierzytelniania podczas odbierania tokenów. W celu zapewnienia wyższego poziomu bezpieczeństwa zalecane jest używanie certyfikatu (zamiast klucza tajnego klienta) jako poświadczenia. Aby uzyskać klucz tajny klienta, uruchom następujące żądanie. Zastąp element {graph-service-principal-id} identyfikatorem appId identyfikatorem appId w pierwszym kroku.
POST https://graph.microsoft.com/v1.0/applications(appId='appId')/addPassword
{
"passwordCredential": {
"displayName": "My app client secret"
}
}
Z odpowiedzi skopiuj wartość secretText:
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#microsoft.graph.passwordCredential",
"displayName": "My app client secret",
"endDateTime": "2026-05-23T15:16:42",
"hint": "<Your hint will show up here>",
"keyId": "aaaaaaaa-0b0b-1c1c-2d2d-333333333333",
"secretText": "A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u",
"startDateTime": "2024-05-23T15:16:42"
}