Registrieren einer Anwendung
Übung: Registrieren einer Anwendung
Damit sich Ihre App bei Microsoft Entra External ID anmelden kann, müssen Sie die Anwendung im Verzeichnis registrieren.
Hinweis
Sie benötigen mindestens die Verzeichnisrolle Anwendungsentwickler, um eine Anwendung zu registrieren.
Diese Rolle ist eine privilegierte Rolle. Lesen Sie die bewährten Methoden für die Verwendung privilegierter Rollen.
Haben Sie Feedback? Teilen Sie uns mit, wie Ihr Proof of Concept-Projekt läuft. Wir würden uns freuen, von Ihnen zu hören!
Um Ihre eigene Anwendung zu registrieren, melden Sie sich beim Microsoft Entra Admin Center an, und navigieren Sie zu Anwendungen>App-Registrierungen. Wählen Sie dann + Neue Registrierung aus.
Geben Sie auf der angezeigten Seite Registrieren einer Anwendung einen aussagekräftigen Namen für die Anwendung ein, der Benutzern der App angezeigt wird, z. B. Woodgrove Groceries. Wählen Sie unter Unterstützte Kontotypen die Option Nur Konten in diesem Organisationsverzeichnis aus. Wählen Sie für Platform die Option Web aus, und geben Sie den Umleitungs-URI für Ihre App ein. Der Umleitungs-URI ist der Endpunkt, an den Benutzer von Microsoft Entra External ID nach Abschluss der Authentifizierung bei Microsoft Entra External ID umgeleitet werden.
Der Bereich Übersicht der Anwendung wird bei erfolgreicher Registrierung angezeigt. Notieren Sie sich die Anwendungs-ID (Client), die im Quellcode Ihrer Anwendung verwendet werden sollen.
Wenn Sie weitere Umleitungs-URIs oder eine URL für Front-Channel-Abmeldung hinzufügen möchten, wählen Sie unter Verwalten die Option Authentifizierung aus. An die URL für Front-Channel-Abmeldung wird eine Anforderung gesendet, damit die Anwendung die Sitzungsdaten des Benutzers löscht. Dies ist erforderlich, damit das einmalige Abmelden ordnungsgemäß funktioniert.
Damit eine Webanwendung (vertraulicher Client) ein Zugriffstoken erhält, benötigt sie Anmeldeinformationen, um ihre Identität bei Microsoft Entra ID nachzuweisen. Sie können Ihrer vertraulichen Client-App-Registrierung Zertifikate, geheime Clientschlüssel (Zeichenfolge) und Verbundidentitätsanmeldeinformationen als Anmeldeinformationen hinzufügen. Für die Lebensmittelwebsite verwenden wir ein Zertifikat. Um ein Zertifikat hinzuzufügen, wählen Sie Zertifikate und Geheimnisse>Zertifikate>Zertifikat hochladen aus.
Wählen Sie die Datei, die Sie hochladen möchten. Dabei muss es sich um einen der folgenden Dateitypen handeln: .cer, .pem oder .crt. Wählen Sie dann Hinzufügen aus.
In den folgenden Schritten fügen Sie die erforderliche Berechtigung für die Webanwendung hinzu. Wählen Sie unter Verwalten die Option API-Berechtigungen und dann Berechtigung hinzufügen aus.
Wählen Sie unter API-Berechtigungen anfordern die Registerkarte Microsoft-APIs und dann die Option Microsoft Graph aus.
Wählen Sie die Option Delegierte Berechtigungen aus. Suchen Sie dann im Abschnitt Berechtigungen auswählen nach den Berechtigungen openid und offline_access, und wählen Sie sie aus. Wählen Sie dann zum Abschließen des Vorgangs die Option Berechtigungen hinzufügen aus.
An diesem Punkt haben Sie die Berechtigungen ordnungsgemäß zugewiesen. Da der Mandant jedoch ein externer Mandant ist, können die Consumerbenutzer diesen Berechtigungen nicht selbst zustimmen. Sie als Administrator müssen diesen Berechtigungen im Namen aller Benutzer im Mandanten zustimmen: Wählen Sie Administratorzustimmung für
<your tenant name>
erteilen und dann Ja aus.Gut gemacht! Ihre Anwendung kann jetzt verwendet werden.
1. Registrieren einer Anwendung
Verwenden Sie zum Registrieren einer Webanwendung die folgende Microsoft Graph-Anforderung, und ersetzen Sie die folgenden Werte.
Wert von displayName durch den angezeigten Namen der App. Beispiel: Woodgrove Groceries.
Werte für redirectUris durch den Umleitungs-URI Ihrer Anwendung. Beispiel: https://woodgrovedemo.com/signin-oidc. Sie können auch https://www.jwt.ms/ verwenden.
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 Kopieren der Anwendungs-ID
Kopieren Sie den Wert von appId aus der Antwort. Zum Beispiel:
{
"@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. Erstellen eines Dienstprinzipals für Ihre Anwendung
Nach dem Registrieren Ihrer Anwendung erstellen Sie einen Dienstprinzipal. Der folgende Graph-Aufruf erstellt einen Dienstprinzipal. Ersetzen Sie {appId} durch den Wert appId der App aus dem vorherigen Aufruf (nicht durch die Objekt-ID).
POST https://graph.microsoft.com/v1.0/servicePrincipals
{
"appId": "{appId}"
}
2.1 Kopieren der Dienstprinzipal-ID
Kopieren Sie den Wert von id aus der Antwort. Beispiel:
{
"@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. Einwilligen in die erforderlichen Berechtigungen
Da der Mandant ein externer Mandant ist, können die Consumerbenutzer diesen Berechtigungen nicht selbst zustimmen. Sie als Administrator müssen diesen Berechtigungen im Namen aller Benutzer im Mandanten zustimmen.
3.1. Abrufen der Dienstprinzipal-ID von Microsoft Graph
Führen Sie die folgende GET-Anforderung aus, und kopieren Sie die ID (id) aus der Antwort:
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. Erteilen der erforderlichen Berechtigungen
Ersetzen Sie {service-principal-id} durch die Dienstprinzipal-ID, die Sie im vorherigen Schritt kopiert haben. Ersetzen Sie {graph-service-principal-id} durch die Dienstprinzipal-ID, die Sie im letzten Schritt kopiert haben.
POST https://graph.microsoft.com/v1.0/oauth2PermissionGrants
{
"clientId": "{service-principal-id}",
"consentType": "AllPrincipals",
"resourceId": "{graph-service-principal-id}",
"scope": "openid offline_access"
}
4. (Optional) Hinzufügen eines geheimen Clientschlüssels
Vertrauliche Anwendungen werden mit Anmeldeinformationen beim Authentifizierungsdienst identifiziert, wenn sie Token erhalten. Für eine höhere Sicherheitsstufe wird empfohlen, ein Zertifikat (anstelle eines geheimen Clientschlüssels) als Anmeldeinformation zu verwenden. Um den geheimen Clientschlüssel abzurufen, führen Sie die folgende Anforderung aus. Ersetzen Sie {graph-service-principal-id} durch den Wert von appId aus dem ersten Schritt.
POST https://graph.microsoft.com/v1.0/applications(appId='appId')/addPassword
{
"passwordCredential": {
"displayName": "My app client secret"
}
}
Kopieren Sie den Wert von secretText aus der Antwort.
{
"@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"
}