Freigeben über


API-Referenz zur nativen Authentifizierung

Gilt für: Weißer Kreis mit grauem X. Mitarbeitermandanten Grüner Kreis mit weißem Häkchen. Externe Mandanten (weitere Informationen)

Mit der nativen Authentifizierung von Microsoft Entra können Sie die Benutzeroberfläche Ihrer App in der Clientanwendung hosten, anstatt die Authentifizierung an Browser zu delegieren, was eine nativ integrierte Authentifizierung ermöglicht. Als Entwickler haben Sie die volle Kontrolle über das Aussehen und Verhalten der Anmeldeschnittstelle.

Dieser Artikel zur API-Referenz beschreibt Details, die nur erforderlich sind, wenn Sie unformatierte HTTP-Anforderungen zum Ausführen des Flows manuell vornehmen. Wir empfehlen diesen Ansatz jedoch nicht. Verwenden Sie also nach Möglichkeit ein von Microsoft erstelltes und unterstütztes Authentifizierungs-SDK. Weitere Informationen über die Verwendung des SDK finden Sie unter Tutorial: Vorbereiten Ihrer mobilen Android-App für die native Authentifizierung und Tutorial: Vorbereiten Ihrer mobilen Android- bzw. iOS-App für die native Authentifizierung.

Wenn ein Aufruf zum API-Endpunkt erfolgreich ist, erhalten Sie sowohl ein ID-Token für die Benutzeridentifikation als auch ein Zugriffstoken zum Aufrufen geschützter APIs. Alle Antworten aus der API sind im JSON-Format.

Die native Authentifizierungs-API von Microsoft Entra unterstützt die Registrierung und Anmeldung durch zwei Authentifizierungsmethoden:

  • Email mit Kennwort, das die Registrierung und Anmeldung mit einer Email und einem Kennwort sowie die Self-Service-Kennwortzurücksetzung (Self-Service Password Reset, SSPR) ermöglicht.

  • Einmal-Passcode per E-Mail, der die Registrierung und Anmeldung mit einem Einmal-Passcode über E-Mail ermöglicht.

Hinweis

Derzeit unterstützen die systemeigenen Authentifizierungs-API-Endpunkte keine ursprungsübergreifende Ressourcenfreigabe (Cross-Origin Resource Sharing, CORS).

Voraussetzungen

  1. Ein externer Microsoft Entra Tenant. Erstellen Sie einen externen Mandanten wenn Sie noch keinen haben.

  2. Falls Sie dies noch nicht getan haben, registrieren Sie eine Anwendung im Microsoft Entra Admin Center. Stellen Sie sicher, dass Sie delegierte Berechtigungen zuweisen und öffentliche Client- und native Authentifizierungsflows aktivieren.

  3. Falls Sie dies noch nicht getan haben, erstellen Sie einen Benutzerflow im Microsoft Entra Admin Center. Achten Sie bei der Erstellung des Benutzerflows auf die von Ihnen konfigurierten erforderlichen Benutzerattribute, da Microsoft Entra erwartet, dass diese Attribute von Ihrer Anwendung übermittelt werden.

  4. Ordnen Sie Ihre App-Registrierung dem Benutzerflow zu.

  5. Registrieren Sie einen Kundenbenutzer für den Anmeldeflow, den Sie zum Testen der Anmelde-APIs verwenden. Alternativ können Sie diesen Testbenutzer erhalten, nachdem Sie den Registrierungsflow ausgeführt haben.

  6. Für den SSPR-Flow (Self-Service-Kennwortzurücksetzung) aktivieren Sie die Self-Service-Kennwortzurücksetzung für Kundenbenutzer im externen Mandanten. SSPR ist für Kundenbenutzer verfügbar, die die Authentifizierungsmethode „E-Mail mit Kennwort“ verwenden.

Fortsetzungstoken

Jedes Mal, wenn Sie einen Endpunkt in einem der Flows (Anmeldung, Registrierung oder SSPR) aufrufen, fügt der Endpunkt seiner Antwort ein Fortsetzungstoken bei. Das Fortsetzungstoken ist ein eindeutiger Bezeichner, den Microsoft Entra ID verwendet, um den Zustand zwischen Aufrufen verschiedener Endpunkte innerhalb desselben Flows aufrechtzuerhalten. Sie müssen dieses Token in die nachfolgenden Anforderungen im gleichen Flow einschließen.

Jedes Fortsetzungstoken ist für einen bestimmten Zeitraum gültig und kann nur für die nachfolgenden Anforderungen innerhalb desselben Flows verwendet werden.

Referenz zur Registrierungs-API

Um den Registrierungsflow mit beiden Authentifizierungsmethoden für einen Benutzer abzuschließen, interagiert Ihre App mit vier Endpunkten: /signup/v1.0/start, /signup/v1.0/challenge, /signup/v1.0/continue und /token.

Endpunkte der Anmelde-API

Endpunkt Beschreibung
/signup/v1.0/start Dieser Endpunkt startet den Registrierungsflow. Sie übergeben eine gültige Anwendungs-ID, einen neuen Benutzernamen und den Aufforderungstyp, und erhalten dann ein neues Fortsetzungstoken zurück. Der Endpunkt kann eine Antwort zurückgeben, um die Anwendung anzuweisen, einen Webauthentifizierungsflow zu verwenden, wenn die ausgewählten Authentifizierungsmethoden der Anwendung von Microsoft Entra nicht unterstützt werden.
/signup/v1.0/challenge Ihre App ruft diesen Endpunkt mit einer Liste von Aufforderungstypen auf, die von Microsoft Entra unterstützt werden. Microsoft Entra wählt dann eine der unterstützten Authentifizierungsmethoden für den Benutzer aus.
/signup/v1.0/continue Dieser Endpunkt hilft bei der Fortsetzung des Flows zur Erstellung des Benutzerkontos oder bei der Unterbrechung des Flows aufgrund fehlender Anforderungen wie Kennwortrichtlinienanforderungen oder falscher Attributformate. Dieser Endpunkt generiert ein Fortsetzungstoken und gibt es dann an die App zurück. Der Endpunkt kann eine Antwort zurückgeben, um die Anwendung anzuweisen, einen webbasierten Authentifizierungsflow zu verwenden, wenn die Anwendung keine von Microsoft Entra ausgewählte Authentifizierungsmethode verwendet.
/token Die Anwendung ruft diesen Endpunkt auf, um schließlich Sicherheitstoken anzufordern. Die App muss das Fortsetzungstoken enthalten, das sie vom letzten erfolgreichen Aufruf an den /signup/v1.0/continue-Endpunkt erhält.

Aufforderungstypen für die Registrierung

Die API ermöglicht der Client-App, die unterstützten Authentifizierungsmethoden anzukündigen, wenn sie einen Aufruf an Microsoft Entra tätigt. Dafür verwendet die App den Parameter challenge_type in der Anforderung der App. Dieser Parameter enthält vordefinierte Werte, die unterschiedliche Authentifizierungsmethoden darstellen.

Weitere Informationen zu den Aufforderungstypen finden Sie unter Aufforderungstypen für native Authentifizierung. In diesem Artikel werden die Werte für den Captcha-Typ erläutert, die Sie für eine Authentifizierungsmethode verwenden sollten.

Details des Registrierungsflowprotokolls

Das Sequenzdiagramm veranschaulicht den Flow des Registrierungsvorgangs.

Diagramm des nativen Authentifizierungsflows für die Registrierung.

Dieses Diagramm zeigt, dass die App den Benutzernamen (E-Mail), das Kennwort (für Authentifizierungsmethoden mit E-Mail und Kennwort) und die Attribute des Benutzers zu unterschiedlichen Zeiten (und möglicherweise auf separaten Bildschirmen) sammelt. Sie können Ihre App jedoch so entwerfen, dass sie den Benutzernamen (E-Mail), das Kennwort und alle erforderlichen und optionalen Attributwerte auf demselben Bildschirm sammeln und dann alle über den /signup/v1.0/start-Endpunkt übermittelt. In diesem Fall muss die App für die optionalen Schritte keine Aufrufe tätigen und keine Antworten behandeln.

Schritt 1: Anforderung zum Starten des Registrierungsflows

Der Registrierungsflow beginnt mit der Anwendung, die eine POST-Anforderung an den /signup/v1.0/start-Endpunkt sendet, um den Registrierungsflow zu starten.

Hier sind Beispiele für die Anforderung (zur besseren Lesbarkeit wird die Beispielanforderung in mehreren Zeilen dargestellt):

Beispiel 1:

POST https://{tenant_subdomain}.ciamlogin.com/{tenant_subdomain}.onmicrosoft.com/signup/v1.0/start
Content-Type: application/x-www-form-urlencoded

client_id=00001111-aaaa-2222-bbbb-3333cccc4444
&challenge_type=oob password redirect
&username=contoso-consumer@contoso.com 

Beispiel 2 (einschließen von Benutzerattributen und Kennwort in der Anforderung):

POST https://{tenant_subdomain}.ciamlogin.com/{tenant_subdomain}.onmicrosoft.com/signup/v1.0/start
Content-Type: application/x-www-form-urlencoded

client_id=00001111-aaaa-2222-bbbb-3333cccc4444
&challenge_type=oob password redirect
&password={secure_password}
&attributes={"displayName": "{given_name}", "extension_2588abcdwhtfeehjjeeqwertc_age": "{user_age}", "postalCode": "{user_postal_code}"}
&username=contoso-consumer@contoso.com 
Parameter Erforderlich Beschreibung
tenant_subdomain Ja Die Unterdomäne des von Ihnen erstellten externen Mandanten. Ersetzen Sie in der URL {tenant_subdomain} durch die Unterdomäne des Verzeichnisses (Mandant). Wenn beispielsweise die primäre Domäne Ihres Mandanten contoso.onmicrosoft.com ist, verwenden Sie contoso. Wenn Sie keine Mandantenunterdomäne haben, lernen Sie, wie Sie Ihre Mandantendetails auslesen.
client_id Ja Die Anwendungs-ID (Client-ID) der Anwendung, die Sie im Microsoft Entra Admin Center registriert haben.
username Ja E-Mail des Kundenbenutzers, bei dem sie sich registrieren möchten, z. B. contoso-consumer@contoso.com.
challenge_type Ja Eine durch Leerzeichen getrennte Liste der Aufforderungstypzeichenfolgen für die Autorisierung, die von der App unterstützt werden, z. B. oob password redirect. Die Liste muss immer den redirect-Aufforderungstyp enthalten. Für eine Authentifizierungsmethode mit E-Mail und Kennwort wird der Wert oob redirect oder oob password redirect erwartet.
password No Der Kennwortwert, den die App vom Kundenbenutzer sammelt. Sie können das Kennwort eines Benutzers über den /signup/v1.0/start übermitteln, oder später im /signup/v1.0/continue-Endpunkt. Ersetzen Sie {secure_password} mit dem Kennwortwert, den die App vom Kundenbenutzer sammelt. Es liegt in Ihrer Verantwortung, zu bestätigen, dass der Benutzer das Kennwort kennt, das er verwenden möchte, indem er das Kennwort im Bestätigungsfeld in der Benutzeroberfläche der App bereitstellt. Sie müssen auch sicherstellen, dass der Benutzer weiß, was ein sicheres Kennwort gemäß Richtlinie Ihrer Organisation darstellt. Erfahren Sie mehr über die Kennwortrichtlinien von Microsoft Entra.
Dieser Parameter gilt nur für eine Authentifizierungsmethode mit E-Mail und Kennwort.
attributes No Die Benutzerattributwerte, welche die App vom Kundenbenutzer sammelt. Der Wert ist eine Zeichenfolge, jedoch als JSON-Objekt formatiert, dessen Schlüsselwerte programmierbare Namen von Benutzerattributen sind. Diese Attribute können integriert oder benutzerdefiniert sein, und erforderlich oder optional. Die Schlüsselnamen des Objekts hängen von den Attributen ab, die der Administrator im Microsoft Entra Admin Center konfiguriert hat. Sie können einige oder alle Benutzerattribute über den /signup/v1.0/start-Endpunkt übermitteln, oder später im /signup/v1.0/continue-Endpunkt. Wenn Sie alle erforderlichen Attribute über den /signup/v1.0/start-Endpunkt übermitteln, müssen Sie im /signup/v1.0/continue-Endpunkt keine Attribute übermitteln. Wenn Sie jedoch einige erforderliche Attribute über /signup/v1.0/start-Endpunkt übermitteln, können Sie die verbleibenden erforderlichen Attribute später im /signup/v1.0/continue-Endpunkt übermitteln. Ersetzen Sie {given_name}, {user_age} und {postal_code} jeweils durch die Werte für Name, Alter und Postleitzahl, die die App vom Kundenbenutzer einholt. Microsoft Entra ignoriert alle nicht existierenden Attribute, die Sie übermitteln.

Antwort bei Erfolg

Hier ist ein Beispiel für eine erfolgreiche Antwort:

HTTP/1.1 200 OK
Content-Type: application/json
{
    "continuation_token": "AQABAAEAAA…",
} 
Parameter Beschreibung
continuation_token Fortsetzungstoken, das von Microsoft Entra zurückgegeben wird.

Wenn eine App eine von Microsoft Entra erforderliche Authentifizierungsmethode nicht unterstützen kann, ist ein Fallback auf den webbasierten Authentifizierungsflow erforderlich. In diesem Szenario informiert Microsoft Entra die App durch Zurückgeben eines Aufforderungstyps Umleitung in seiner Antwort:

HTTP/1.1 200 OK
Content-Type: application/json
{     
   "challenge_type": "redirect" 
} 
Parameter Beschreibung
challenge_type Microsoft Entra gibt eine Antwort zurück, die einen Aufforderungstyp enthält. Der Wert dieses Aufforderungstyps ist „Umleitung“, mit dem die App den webbasierten Authentifizierungsflow verwenden kann.

Diese Antwort gilt als erfolgreich, die App muss jedoch zu einem webbasierten Authentifizierungsflow wechseln. In diesem Fall empfehlen wird Ihnen, eine von Microsoft erstellte und unterstützte Authentifizierungsbibliothek zu verwenden.

Fehlerantwort

Beispiel:

HTTP/1.1 400 Bad Request
Content-Type: application/json
{
    "error": "user_already_exists", 
    "error_description": "AADSTS1003037: It looks like you may already have an account.... .\r\nTrace ID: 0000aaaa-11bb-cccc-dd22-eeeeee333333\r\nCorrelation ID: aaaa0000-bb11-2222-33cc-444444dddddd\r\nTimestamp: yyyy-...", 
    "error_codes": [ 
        1003037 
    ],
    "timestamp": "yyyy-mm-dd 10:15:00Z",
    "trace_id": "0000aaaa-11bb-cccc-dd22-eeeeee333333", 
    "correlation_id": "aaaa0000-bb11-2222-33cc-444444dddddd"
} 
Parameter Beschreibung
error Eine Fehlercodezeichenfolge, die zum Klassifizieren der Fehlertypen und für die Reaktion auf Fehler verwendet werden kann.
error_description Eine spezifische Fehlermeldung, die Ihnen bei der Identifizierung der Hauptursache eines Authentifizierungsfehlers helfen kann.
error_codes Eine Liste der Microsoft Entra-spezifischen Fehlercodes, die Ihnen bei der Diagnose von Fehlern helfen können.
timestamp Die Uhrzeit, zu der der Fehler aufgetreten ist
trace_id Ein eindeutiger Bezeichner für die Anforderung, die Ihnen bei der Diagnose von Fehlern helfen kann.
correlation_id Ein eindeutiger Bezeichner für die Anforderung, die bei der komponentenübergreifenden Diagnose helfen kann
invalid_attributes Eine Liste (ein Array von Objekten) von Attributen, bei denen die Validierung fehlgeschlagen ist. Diese Antwort ist möglich, wenn die App Benutzerattribute übermittelt und der Wert des suberror-Parameters attribute_validation_failed ist.
suberror Eine Fehlercodezeichenfolge, die zum weiteren Klassifizieren von Fehlertypen verwendet werden kann.

Hier sind die möglichen Fehler, auf die Sie stoßen können (mögliche Werte des error-Parameters):

Fehlerwert Beschreibung
invalid_request Die Validierung des Anforderungsparameters ist fehlgeschlagen, z. B. wenn der Wert des challenge_type-Parameters eine nicht unterstützte Authentifizierungsmethode enthält oder die Anforderung keinen client_id-Parameter enthielt oder wenn der Client-ID-Wert leer oder ungültig ist. Verwenden Sie den error_description-Parameter, um die genaue Ursache des Fehlers zu erfahren.
invalid_client Die Client-ID, welche die App in die Anforderung einschließt, ist für eine App, der eine native Authentifizierungskonfiguration fehlt, wenn sie z. B. kein öffentlicher Client oder nicht für die native Authentifizierung aktiviert ist. Verwenden Sie den suberror-Parameter, um die genaue Ursache des Fehlers zu erfahren.
unauthorized_client Die in der Anforderung verwendete Client-ID weist ein gültiges Client-ID-Format auf, ist aber nicht im externen Mandanten vorhanden oder ist fehlerhaft.
unsupported_challenge_type Der challenge_type-Parameterwert enthält nicht den redirect-Aufforderungstyp.
user_already_exists Der Benutzer ist bereits vorhanden.
invalid_grant Das von der App übermittelte Kennwort erfüllt nicht alle Komplexitätsanforderungen, z. B. ist das Kennwort zu kurz. Verwenden Sie den suberror-Parameter, um die genaue Ursache des Fehlers zu erfahren.
Dieser Parameter gilt nur für eine Authentifizierungsmethode mit E-Mail und Kennwort.

Wenn der Fehlerparameter einen Wert von invalid_grant hat, schließt Microsoft Entra einen suberror-Parameter in seiner Antwort ein. Hier sind die möglichen Werte des suberror-Parameters für einen invalid_grant-Fehler:

Unterfehlerwert Beschreibung
password_too_weak Das Kennwort ist zu schwach, da es die Komplexitätsanforderungen nicht erfüllt. Erfahren Sie mehr über die Kennwortrichtlinien von Microsoft Entra. Diese Antwort ist möglich, wenn die App ein Benutzerkennwort sendet.
password_too_short Das neue Kennwort enthält weniger als 8 Zeichen. Erfahren Sie mehr über die Kennwortrichtlinien von Microsoft Entra. Diese Antwort ist möglich, wenn die App ein Benutzerkennwort sendet.
password_too_long Das neue Kennwort ist länger als 256 Zeichen. Erfahren Sie mehr über die Kennwortrichtlinien von Microsoft Entra. Diese Antwort ist möglich, wenn die App ein Benutzerkennwort sendet.
password_recently_used Das neue Kennwort darf nicht mit einem zuletzt verwendeten übereinstimmen. Erfahren Sie mehr über die Kennwortrichtlinien von Microsoft Entra. Diese Antwort ist möglich, wenn die App ein Benutzerkennwort sendet.
password_banned Das neue Kennwort enthält ein Wort, einen Ausdruck oder ein Muster, das gesperrt ist. Erfahren Sie mehr über die Kennwortrichtlinien von Microsoft Entra. Diese Antwort ist möglich, wenn die App ein Benutzerkennwort sendet.
password_is_invalid Das Kennwort ist ungültig, z. B. weil es unzulässige Zeichen verwendet. Erfahren Sie mehr über die Kennwortrichtlinien von Microsoft Entra. Diese Antwort ist möglich, wenn die App ein Benutzerkennwort sendet.

Wenn der Fehlerparameter einen Wert von invalid_client hat, schließt Microsoft Entra einen suberror-Parameter in seiner Antwort ein. Hier sind die möglichen Werte des suberror-Parameters für einen invalid_client-Fehler:

Unterfehlerwert Beschreibung
nativeauthapi_disabled Die Client-ID für eine App, die nicht für die native Authentifizierung aktiviert ist.

Hinweis

Wenn Sie alle erforderlichen Attribute über den /signup/v1.0/start-Endpunkt übermitteln, aber nicht alle optionalen Attribute, können Sie später über den /signup/v1.0/continue-Endpunkt keine zusätzlichen optionalen Attribute übermitteln. Microsoft Entra fordert optionale Attribute nicht explizit an, da sie für den Registrierungsflow nicht zwingend erforderlich sind. Die Tabelle im Abschnitt Übermitteln von Benutzerattributen an Endpunkte zeigt, welche Benutzerattribute Sie an die Endpunkte /signup/v1.0/start und /signup/v1.0/continue übermitteln können.

Schritt 2: Authentifizierungsmethode auswählen

Die App fordert Microsoft Entra auf, einen der unterstützten Captcha-Typen auszuwählen, mit denen sich der Benutzer authentifizieren kann. Dazu tätigt die App einen Aufruf an den /signup/v1.0/challenge-Endpunkt. Die App muss das Fortsetzungstoken enthalten, das sie vom /signup/v1.0/start-Endpunkt in der Anforderung erhält.

Hier ist ein Beispiel für die Anforderung (zur besseren Lesbarkeit wird die Beispielanforderung in mehreren Zeilen dargestellt).

POST https://{tenant_subdomain}.ciamlogin.com/{tenant_subdomain}.onmicrosoft.com/signup/v1.0/challenge
Content-Type: application/x-www-form-urlencoded

client_id=00001111-aaaa-2222-bbbb-3333cccc4444
&challenge_type=oob password redirect
&continuation_token=AQABAAEAAA…
Parameter Erforderlich Beschreibung
tenant_subdomain Ja Die Unterdomäne des von Ihnen erstellten externen Mandanten. Ersetzen Sie in der URL {tenant_subdomain} durch die Unterdomäne des Verzeichnisses (Mandant). Wenn beispielsweise die primäre Domäne Ihres Mandanten contoso.onmicrosoft.com ist, verwenden Sie contoso. Wenn Sie keine Mandantenunterdomäne haben, lernen Sie, wie Sie Ihre Mandantendetails auslesen.
client_id Ja Die Anwendungs-ID (Client-ID) der Anwendung, die Sie im Microsoft Entra Admin Center registriert haben.
challenge_type No Eine durch Leerzeichen getrennte Liste der Aufforderungstyp-Zeichenfolgen für die Autorisierung, die von der App unterstützt werden, z. B. oob password redirect. Die Liste muss immer den redirect-Aufforderungstyp enthalten. Für die Authentifizierungsmethode „E-Mail mit Einmal-Passcode“ wird der Wert oob redirect erwartet. Für „E-Mail mit Kennwort“ wird der Wert oob password redirect erwartet.
continuation_token Ja Fortsetzungstoken, das Microsoft Entra in der vorherigen Anforderung zurückgegeben hat.

Antwort bei Erfolg

Microsoft Entra sendet einen Einmal-Passcode an die E-Mail-Adresse des Benutzers und antwortet dann mit dem Aufforderungstyp mit dem Wert oob und weiteren Informationen zum Einmal-Passcode:

HTTP/1.1 200 OK
Content-Type: application/json
{
    "interval": 300,
    "continuation_token": "AQABAAEAAAYn...",
    "challenge_type": "oob",
    "binding_method": "prompt",
    "challenge_channel": "email",
    "challenge_target_label": "c***r@co**o**o.com",
    "code_length": 8
} 
Parameter Beschreibung
interval Die Zeitdauer in Sekunden, welche die App warten muss, bevor versucht wird, das OTP erneut zu senden.
continuation_token Fortsetzungstoken, das von Microsoft Entra zurückgegeben wird.
challenge_type Aufforderungstyp, der für den Benutzer zur Authentifizierung ausgewählt wurde.
binding_method Der einzige gültige Wert ist prompt. Dieser Parameter kann in Zukunft verwendet werden, um dem Benutzer weitere Möglichkeiten zum Eingeben des Einmal-Passcodes zu bieten. Ausgestellt, wenn challenge_type oob ist
challenge_channel Der Typ des Kanals, über den der Einmal-Passcode gesendet wurde. Derzeit wird nur der E-Mail-Kanal unterstützt.
challenge_target_label Eine verschleierte E-Mail-Adresse, an die der Einmal-Passcode gesendet wurde.
code_length Die Länge des Einmal-Passcodes, den Microsoft Entra generiert.

Wenn eine App eine von Microsoft Entra erforderliche Authentifizierungsmethode nicht unterstützen kann, ist ein Fallback auf den webbasierten Authentifizierungsflow erforderlich. In diesem Szenario informiert Microsoft Entra die App durch Zurückgeben eines Aufforderungstyps Umleitung in seiner Antwort:

HTTP/1.1 200 OK
Content-Type: application/json
{
   "challenge_type": "redirect"
}
Parameter Beschreibung
challenge_type Microsoft Entra gibt eine Antwort zurück, die einen Aufforderungstyp enthält. Der Wert dieses Aufforderungstyps ist „Umleitung“, mit dem die App den webbasierten Authentifizierungsflow verwenden kann.

Diese Antwort gilt als erfolgreich, die App muss jedoch zu einem webbasierten Authentifizierungsflow wechseln. In diesem Fall empfehlen wird Ihnen, eine von Microsoft erstellte und unterstützte Authentifizierungsbibliothek zu verwenden.

Fehlerantwort

Beispiel:

HTTP/1.1 400 Bad Request
Content-Type: application/json
{ 
    "error": "invalid_request", 
    "error_description": "AADSTS901007: The challenge_type list parameter does not include the 'redirect' type.\r\nTrace ID: 0000aaaa-11bb-cccc-dd22-eeeeee333333\r\nCorrelation ID: aaaa0000-bb11-2222-33cc-444444dddddd\r\nTimestamp: yyyy-...",
    "error_codes": [ 
        901007 
    ], 
    "timestamp": "yyyy-mm-dd 10:15:00Z",
    "trace_id": "0000aaaa-11bb-cccc-dd22-eeeeee333333", 
    "correlation_id": "aaaa0000-bb11-2222-33cc-444444dddddd"
} 
Parameter Beschreibung
error Eine Fehlercodezeichenfolge, die zum Klassifizieren der Fehlertypen und für die Reaktion auf Fehler verwendet werden kann.
error_description Eine spezifische Fehlermeldung, die Ihnen bei der Identifizierung der Hauptursache eines Authentifizierungsfehlers helfen kann.
error_codes Eine Liste der Microsoft Entra-spezifischen Fehlercodes, die Ihnen bei der Diagnose von Fehlern helfen können.
timestamp Die Uhrzeit, zu der der Fehler aufgetreten ist
trace_id Ein eindeutiger Bezeichner für die Anforderung, die Ihnen bei der Diagnose von Fehlern helfen kann.
correlation_id Ein eindeutiger Bezeichner für die Anforderung, die bei der komponentenübergreifenden Diagnose helfen kann

Hier sind die möglichen Fehler, auf die Sie stoßen können (mögliche Werte des error-Parameters):

Fehlerwert Beschreibung
invalid_request Die Validierung des Anforderungsparameters ist fehlgeschlagen, z. B. ist die Client-ID leer oder ungültig.
expired_token Das Fortsetzungstoken ist abgelaufen.
unsupported_challenge_type Der challenge_type-Parameterwert enthält nicht den redirect-Aufforderungstyp.
invalid_grant Das Fortsetzungstoken ist ungültig.

Schritt 3: Übermitteln eines Einmal-Passcodes

Die App übermittelt den Einmal-Passcode, der an die E-Mail-Adresse des Benutzers gesendet wurde. Da wir einen Einmal-Passcode übermitteln, ist ein oob-Parameter erforderlich, und der grant_type-Parameter muss den Wert oob aufweisen.

Hier ist ein Beispiel für die Anforderung (zur besseren Lesbarkeit wird die Beispielanforderung in mehreren Zeilen dargestellt):

POST https://{tenant_subdomain}.ciamlogin.com/{tenant_subdomain}.onmicrosoft.com/signup/v1.0/continue
Content-Type: application/x-www-form-urlencoded

continuation_token=uY29tL2F1dGhlbnRpY...
&client_id=00001111-aaaa-2222-bbbb-3333cccc4444 
&grant_type=oob 
&oob={otp_code}
Parameter Erforderlich Beschreibung
tenant_subdomain Ja Die Unterdomäne des von Ihnen erstellten externen Mandanten. Ersetzen Sie in der URL {tenant_subdomain} durch die Unterdomäne des Verzeichnisses (Mandant). Wenn beispielsweise die primäre Domäne Ihres Mandanten contoso.onmicrosoft.com ist, verwenden Sie contoso. Wenn Sie keine Mandantenunterdomäne haben, lernen Sie, wie Sie Ihre Mandantendetails auslesen.
continuation_token Ja Fortsetzungstoken, das Microsoft Entra in der vorherigen Anforderung zurückgegeben hat.
client_id Ja Die Anwendungs-ID (Client-ID) der Anwendung, die Sie im Microsoft Entra Admin Center registriert haben.
grant_type Ja Eine Anforderung an den /signup/v1.0/continue-Endpunkt kann verwendet werden, um den Einmal-Passcode, das Kennwort oder Benutzerattribute zu übermitteln. In diesem Fall wird der grant_type-Wert verwendet, um zwischen diesen drei Anwendungsfällen zu unterscheiden. Die möglichen Werte für den grant_type sind oob, password oder attributes. In diesem Aufruf wird erwartet, dass der Wert oob ist, da wir einen Einmal-Passcode senden.
oob Ja Der Einmal-Passcode, den der Kunde per E-Mail erhalten hat. Ersetzen Sie {otp_code} durch die Werte für den Einmal-Passcode, den der Kundenbenutzer per E-Mail erhalten hat. Um einen Einmal-Passcode erneut zu senden, muss die App erneut eine Anforderung an den /signup/v1.0/challenge-Endpunkt senden.

Nachdem die App den Einmal-Passcode erfolgreich übermittelt hat, hängt der Registrierungsflow von den Szenarien ab, wie in der Tabelle dargestellt:

Szenario Vorgehensweise
Die App übermittelt das Kennwort des Benutzers erfolgreich über den /signup/v1.0/start-Endpunkt (bei der Authentifizierungsmethode „E-Mail mit Kennwort“), und im Microsoft Entra Admin Center wurden keine Attribute konfiguriert, oder alle erforderlichen Benutzerattribute wurden über den /signup/v1.0/start-Endpunkt übermittelt. Microsoft Entra gibt ein Fortsetzungstoken aus. Die App kann das Fortsetzungstoken verwenden, um Sicherheitstoken anzufordern, wie in Schritt 5 gezeigt.
Die App übermittelt das Kennwort des Benutzers erfolgreich über /signup/v1.0/start (bei der Authentifizierungsmethode „E-Mail mit Kennwort“), aber nicht alle erforderlichen Benutzerattribute. Microsoft Entra gibt die Attribute an, die die App übermitteln muss, wie in Erforderliche Benutzerattribute gezeigt. Die App muss die erforderlichen Benutzerattribute über den /signup/v1.0/continue-Endpunkt übermitteln. Die Antwort ähnelt der in Erforderliche Benutzerattribute. Übermitteln Sie die Benutzerattribute, die in Übermitteln von Benutzerattributen gezeigt sind.
Die App sendet das Kennwort des Benutzers (bei der Authentifizierungsmethode „E-Mail mit Kennwort“) nicht über den /signup/v1.0/start-Endpunkt. Die Antwort von Microsoft Entra weist darauf hin, dass Anmeldeinformationen erforderlich sind. Siehe Antwort.
Diese Antwort ist bei der Authentifizierungsmethode „E-Mail mit Kennwort“ möglich.

Antwort

HTTP/1.1 400 Bad Request
Content-Type: application/json
{
    "error": "credential_required",
    "error_description": "AADSTS55103: Credential required. Trace ID: d6966055-...-80500 Correlation ID: 3944-...-60d6 Timestamp: yy-mm-dd 02:37:33Z",
    "error_codes": [
        55103
    ],
    "timestamp": "yy-mm-dd 02:37:33Z",
    "trace_id": "d6966055-...-80500",
    "correlation_id": "3944-...-60d6",
    "continuation_token": "AQABEQEAAAA..."
} 
Parameter Beschreibung
error Eine Fehlercodezeichenfolge, die zum Klassifizieren der Fehlertypen und für die Reaktion auf Fehler verwendet werden kann.
error_description Eine spezifische Fehlermeldung, die Ihnen bei der Identifizierung der Hauptursache eines Authentifizierungsfehlers helfen kann.
error_codes Eine Liste der Microsoft Entra-spezifischen Fehlercodes, die Ihnen bei der Diagnose von Fehlern helfen können.
timestamp Die Uhrzeit, zu der der Fehler aufgetreten ist
trace_id Ein eindeutiger Bezeichner für die Anforderung, die Ihnen bei der Diagnose von Fehlern helfen kann.
correlation_id Ein eindeutiger Bezeichner für die Anforderung, die bei der komponentenübergreifenden Diagnose helfen kann
continuation_token Fortsetzungstoken, das von Microsoft Entra zurückgegeben wird.
suberror Eine Fehlercodezeichenfolge, die zum weiteren Klassifizieren von Fehlertypen verwendet werden kann.

Hier sind die möglichen Fehler, auf die Sie stoßen können (mögliche Werte des error-Parameters):

Fehlerwert Beschreibung
credential_required Die Authentifizierung ist für die Kontoerstellung erforderlich, sodass Sie einen Aufruf an den /signup/v1.0/challenge-Endpunkt durchführen müssen, um die Anmeldeinformationen zu bestimmen, die der Benutzer bereitstellen muss.
invalid_request Die Validierung des Anforderungsparameters ist fehlgeschlagen, z. B. ist eine Validierung des Fortsetzungstokens fehlgeschlagen, oder die Anforderung enthielt keinen client_id-Parameter, der Client-ID-Wert ist leer oder ungültig, oder der Administrator des externen Mandanten hat „OTP per E-Mail“ nicht für alle Mandantenbenutzer aktiviert.
invalid_grant Der in der Anforderung enthaltene Gewährungstyp ist nicht gültig oder unterstützt, oder der OTP-Wert ist falsch.
expired_token Das in der Anforderung enthaltene Fortsetzungstoken ist abgelaufen.

Wenn der Fehlerparameter einen Wert von invalid_grant hat, schließt Microsoft Entra einen suberror-Parameter in seiner Antwort ein. Hier sind die möglichen Werte des suberror-Parameters für einen invalid_grant-Fehler:

Unterfehlerwert Beschreibung
invalid_oob_value Der Wert des Einmal-Passcodes ist ungültig.

Damit die Kennwortanmeldeinformationen vom Benutzer gesammelt werden, muss die App einen Aufruf an den /signup/v1.0/challenge-Endpunkt durchführen, um die Anmeldeinformationen zu ermitteln, die der Benutzer bereitstellen muss.

Hier ist ein Beispiel für die Anforderung (zur besseren Lesbarkeit wird die Beispielanforderung in mehreren Zeilen dargestellt):

POST https://{tenant_subdomain}.ciamlogin.com/{tenant_subdomain}.onmicrosoft.com/signup/v1.0/challenge
Content-Type: application/x-www-form-urlencoded

client_id=00001111-aaaa-2222-bbbb-3333cccc4444
&challenge_type=oob password redirect
&continuation_token=AQABAAEAAA…
Parameter Erforderlich Beschreibung
tenant_subdomain Ja Die Unterdomäne des von Ihnen erstellten externen Mandanten. Ersetzen Sie in der URL {tenant_subdomain} durch die Unterdomäne des Verzeichnisses (Mandant). Wenn beispielsweise die primäre Domäne Ihres Mandanten contoso.onmicrosoft.com ist, verwenden Sie contoso. Wenn Sie keine Mandantenunterdomäne haben, lernen Sie, wie Sie Ihre Mandantendetails auslesen.
client_id Ja Die Anwendungs-ID (Client-ID) der Anwendung, die Sie im Microsoft Entra Admin Center registriert haben.
challenge_type No Eine durch Leerzeichen getrennte Liste der Aufforderungstyp-Zeichenfolgen für die Autorisierung, die von der App unterstützt werden, z. B. oob password redirect. Die Liste muss immer den redirect-Aufforderungstyp enthalten. Für den Registrierungsflow „E-Mail mit Kennwort“ wird erwartet, dass der Wert password redirect enthält.
continuation_token Ja Fortsetzungstoken, das Microsoft Entra in der vorherigen Anforderung zurückgegeben hat.

Antwort bei Erfolg

Wenn „Kennwort“ die für den Benutzer im Microsoft Entra Admin Center konfigurierte Authentifizierungsmethode ist, wird eine Erfolgsantwort mit dem Fortsetzungstoken an die App zurückgegeben.

HTTP/1.1 200 OK
Content-Type: application/json
{
    "challenge_type": "password",
    "continuation_token": " AQABAAEAAAAty..."
}
Parameter Beschreibung
challenge_type Kennwort wird in der Antwort für die erforderlichen Anmeldeinformationen zurückgegeben.
continuation_token Fortsetzungstoken, das von Microsoft Entra zurückgegeben wird.

Wenn eine App eine von Microsoft Entra erforderliche Authentifizierungsmethode nicht unterstützen kann, ist ein Fallback auf den webbasierten Authentifizierungsflow erforderlich. In diesem Szenario informiert Microsoft Entra die App durch Zurückgeben eines Aufforderungstyps Umleitung in seiner Antwort:

HTTP/1.1 200 OK
Content-Type: application/json
{     
    "challenge_type": "redirect" 
} 
Parameter Beschreibung
challenge_type Microsoft Entra gibt eine Antwort zurück, die einen Aufforderungstyp enthält. Der Wert dieses Aufforderungstyps ist „Umleitung“, mit dem die App den webbasierten Authentifizierungsflow verwenden kann.

Diese Antwort gilt als erfolgreich, die App muss jedoch zu einem webbasierten Authentifizierungsflow wechseln. In diesem Fall empfehlen wird Ihnen, eine von Microsoft erstellte und unterstützte Authentifizierungsbibliothek zu verwenden.

Schritt 4: Authentifizieren und Abrufen eines Tokens für die Registrierung

Die App muss die Anmeldeinformationen des Benutzers übermitteln, in diesem Fall das Kennwort, welche Microsoft Entra im vorherigen Schritt angefordert hat. Die App muss eine Kennwortanmeldeinformation übermitteln, wenn sie dies nicht über den /signup/v1.0/start-Endpunkt getan hat. Die App macht eine Anforderung an den /signup/v1.0/continue-Endpunkt auf, um das Kennwort zu übermitteln. Da wir ein Kennwort übermitteln, ist ein password-Parameter erforderlich, und der grant_type-Parameter muss über einen Wert Kennwort verfügen.

Hier ist ein Beispiel für die Anforderung (zur besseren Lesbarkeit wird die Beispielanforderung in mehreren Zeilen dargestellt):

POST https://{tenant_subdomain}.ciamlogin.com/{tenant_subdomain}.onmicrosoft.com/signup/v1.0/continue
Content-Type: application/x-www-form-urlencoded

continuation_token=uY29tL2F1dGhlbnRpY...
&client_id=00001111-aaaa-2222-bbbb-3333cccc4444 
&grant_type=password 
&password={secure_password}
Parameter Erforderlich Beschreibung
tenant_subdomain Ja Die Unterdomäne des von Ihnen erstellten externen Mandanten. Ersetzen Sie in der URL {tenant_subdomain} durch die Unterdomäne des Verzeichnisses (Mandant). Wenn beispielsweise die primäre Domäne Ihres Mandanten contoso.onmicrosoft.com ist, verwenden Sie contoso. Wenn Sie keine Mandantenunterdomäne haben, lernen Sie, wie Sie Ihre Mandantendetails auslesen.
continuation_token Ja Fortsetzungstoken, das Microsoft Entra im vorherigen Schritt zurückgegeben hat.
client_id Ja Die Anwendungs-ID (Client-ID) der Anwendung, die Sie im Microsoft Entra Admin Center registriert haben.
grant_type Ja Eine Anforderung an den /signup/v1.0/continue-Endpunkt kann verwendet werden, um den Einmal-Passcode, das Kennwort oder Benutzerattribute zu übermitteln. In diesem Fall wird der grant_type-Wert verwendet, um zwischen diesen drei Anwendungsfällen zu unterscheiden. Die möglichen Werte für den grant_type sind oob, password oder attributes. In diesem Aufruf wird erwartet, dass der Wert password ist, da wir das Kennwort des Benutzers senden.
password Ja Der Kennwortwert, den die App vom Kundenbenutzer sammelt. Ersetzen Sie {secure_password} mit dem Kennwortwert, den die App vom Kundenbenutzer sammelt. Es liegt in Ihrer Verantwortung, zu bestätigen, dass der Benutzer das Kennwort kennt, das er verwenden möchte, indem er das Kennwort im Bestätigungsfeld in der Benutzeroberfläche der App bereitstellt. Sie müssen auch sicherstellen, dass der Benutzer weiß, was ein sicheres Kennwort gemäß Richtlinie Ihrer Organisation darstellt. Erfahren Sie mehr über die Kennwortrichtlinien von Microsoft Entra.

Antwort bei Erfolg

Wenn die Anforderung erfolgreich ist, aber im Microsoft Entra Admin Center keine Attribute konfiguriert wurden, oder alle erforderlichen Attribute über den /signup/v1.0/start-Endpunkt übermittelt wurden, erhält die App ein Fortsetzungstoken, ohne Attribute zu übermitteln. Die App kann das Fortsetzungstoken verwenden, um Sicherheitstoken anzufordern, wie in Schritt 5 gezeigt. Andernfalls gibt die Antwort von Microsoft Entra an, dass die App erforderliche Attribute übermitteln muss. Diese Attribute, integriert oder benutzerdefiniert, wurden vom Mandantenadministrator im Microsoft Entra Admin Center konfiguriert.

Benutzerattribute erforderlich

Diese Antwort fordert die App auf, Werte für die Attribute Name, *Alter und Telefon zu übermitteln.

HTTP/1.1 400 Bad Request
Content-Type: application/json
{
    "error": "attributes_required",
    "error_description": "User attributes required",
    "error_codes": [
            55106
        ],
    "timestamp": "yy-mm-dd 02:37:33Z",
    "trace_id": "d6966055-...-80500",
    "correlation_id": "3944-...-60d6",
    "continuation_token": "AQABAAEAAAAtn...",
    "required_attributes": [
        {
            "name": "displayName",
            "type": "string",
            "required": true,
            "options": {
              "regex": ".*@.**$"
            }
        },
        {
            "name": "extension_2588abcdwhtfeehjjeeqwertc_age",
            "type": "string",
            "required": true
        },
        {
            "name": "postalCode",
            "type": "string",
            "required": true,
            "options": {
              "regex":"^[1-9][0-9]*$"
            }
        }
    ],
}

Hinweis

Benutzerdefinierte Attribute (auch als Verzeichniserweiterungen bezeichnet) werden mithilfe der Konvention extension_{appId-without-hyphens}_{attribute-name} benannt, in der {appId-without-hyphens} die abgespeckte Version der Client-ID für die Erweiterungs-App ist. Wenn beispielsweise die Client-ID der Erweiterungs-App 2588a-bcdwh-tfeehj-jeeqw-ertc lautet und der Attributname Hobbys ist, wird das benutzerdefinierte Attribut als extension_2588abcdwhtfeehjjeeqwertc_hobbies bezeichnet. Erfahren Sie mehr über benutzerdefinierte Attributen und die Erweiterungs-App.

Parameter Beschreibung
error Dieses Attribut wird festgelegt, wenn Microsoft Entra das Benutzerkonto nicht erstellen kann, da ein Attribut überprüft oder übermittelt werden muss.
error_description Eine bestimmte Fehlermeldung, die Ihnen helfen kann, die Ursache des Fehlers zu identifizieren.
error_codes Eine Liste der Microsoft Entra-spezifischen Fehlercodes, die Ihnen bei der Diagnose von Fehlern helfen können.
timestamp Die Uhrzeit, zu der der Fehler aufgetreten ist
trace_id Ein eindeutiger Bezeichner für die Anforderung, die Ihnen bei der Diagnose von Fehlern helfen kann.
correlation_id Ein eindeutiger Bezeichner für die Anforderung, die bei der komponentenübergreifenden Diagnose helfen kann
continuation_token Fortsetzungstoken, das von Microsoft Entra zurückgegeben wird.
required_attributes Eine Liste (ein Array von Objekten) von Attributen, welche die App beim nächsten Aufruf übermitteln muss, um fortzufahren. Diese Attribute sind die zusätzlichen Attribute, die von der App neben dem Benutzernamen übermittelt werden müssen. Microsoft Entra schließt diesen Parameter in die Antwort ein, wenn der Wert des error-Parameters attributes_required ist.

Hier sind die möglichen Fehler, auf die Sie stoßen können (mögliche Werte des error-Parameters):

Fehlerwert Beschreibung
invalid_request Die Validierung des Anforderungsparameters ist fehlgeschlagen, z. B. ist eine Validierung des Fortsetzungstokens fehlgeschlagen, oder die Anforderung enthielt keinen client_id-Parameter, oder der Client-ID-Wert ist leer oder ungültig.
invalid_grant Der in der Anforderung enthaltene Gewährungstyp ist nicht gültig oder unterstützt. Die möglichen Werte für das grant_type sind oob, password oder attributes
expired_token Das in der Anforderung enthaltene Fortsetzungstoken ist abgelaufen.
attributes_required Mindestens ein Benutzerattribut ist erforderlich.

Wenn eine App eine von Microsoft Entra erforderliche Authentifizierungsmethode nicht unterstützen kann, ist ein Fallback auf den webbasierten Authentifizierungsflow erforderlich. In diesem Szenario informiert Microsoft Entra die App durch Zurückgeben eines Aufforderungstyps Umleitung in seiner Antwort:

HTTP/1.1 200 OK
Content-Type: application/json
{     
   "challenge_type": "redirect" 
} 
Parameter Beschreibung
challenge_type Microsoft Entra gibt eine Antwort zurück, die einen Aufforderungstyp enthält. Der Wert dieses Aufforderungstyps ist „Umleitung“, mit dem die App den webbasierten Authentifizierungsflow verwenden kann.

Diese Antwort gilt als erfolgreich, die App muss jedoch zu einem webbasierten Authentifizierungsflow wechseln. In diesem Fall empfehlen wird Ihnen, eine von Microsoft erstellte und unterstützte Authentifizierungsbibliothek zu verwenden.

Fehlerantwort

Beispiel:

HTTP/1.1 400 Bad Request
Content-Type: application/json
{
    "error": "invalid_grant",
    "error_description": "New password is too weak",
    "error_codes": [
        399246
    ], 
    "timestamp": "yyyy-mm-dd 10:15:00Z",
    "trace_id": "0000aaaa-11bb-cccc-dd22-eeeeee333333", 
    "correlation_id": "aaaa0000-bb11-2222-33cc-444444dddddd",
    "suberror": "password_too_weak"
}
Parameter Beschreibung
error Eine Fehlercodezeichenfolge, die zum Klassifizieren der Fehlertypen und für die Reaktion auf Fehler verwendet werden kann.
error_description Eine spezifische Fehlermeldung, die Ihnen bei der Identifizierung der Hauptursache eines Authentifizierungsfehlers helfen kann.
error_codes Eine Liste der Microsoft Entra-spezifischen Fehlercodes, die Ihnen bei der Diagnose von Fehlern helfen können.
timestamp Die Uhrzeit, zu der der Fehler aufgetreten ist
trace_id Ein eindeutiger Bezeichner für die Anforderung, die Ihnen bei der Diagnose von Fehlern helfen kann.
correlation_id Ein eindeutiger Bezeichner für die Anforderung, die bei der komponentenübergreifenden Diagnose helfen kann
suberror Eine Fehlercodezeichenfolge, die zum weiteren Klassifizieren von Fehlertypen verwendet werden kann.

Hier sind die möglichen Fehler, auf die Sie stoßen können (mögliche Werte des error-Parameters):

Fehlerwert Beschreibung
invalid_request Die Validierung des Anforderungsparameters ist fehlgeschlagen, z. B. wenn der challenge_type-Parameter einen ungültigen Aufforderungstyp enthält.
invalid_grant Die übermittelte Zuweisung ist ungültig, z. B. das übermittelte Kennwort ist zu kurz. Verwenden Sie den suberror-Parameter, um die genaue Ursache des Fehlers zu erfahren.
expired_token Das Fortsetzungstoken ist abgelaufen.
attributes_required Mindestens ein Benutzerattribut ist erforderlich.

Wenn der Fehlerparameter einen Wert von invalid_grant hat, schließt Microsoft Entra einen suberror-Parameter in seiner Antwort ein. Hier sind die möglichen Werte des suberror-Parameters:

Unterfehlerwert Beschreibung
password_too_weak Das Kennwort ist zu schwach, da es die Komplexitätsanforderungen nicht erfüllt. Erfahren Sie mehr über die Kennwortrichtlinien von Microsoft Entra.
password_too_short Das neue Kennwort enthält weniger als 8 Zeichen. Erfahren Sie mehr über die Kennwortrichtlinien von Microsoft Entra.
password_too_long Das neue Kennwort ist länger als 256 Zeichen. Erfahren Sie mehr über die Kennwortrichtlinien von Microsoft Entra.
password_recently_used Das neue Kennwort darf nicht mit einem zuletzt verwendeten übereinstimmen. Erfahren Sie mehr über die Kennwortrichtlinien von Microsoft Entra.
password_banned Das neue Kennwort enthält ein Wort, einen Ausdruck oder ein Muster, das gesperrt ist. Erfahren Sie mehr über die Kennwortrichtlinien von Microsoft Entra.
password_is_invalid Das Kennwort ist ungültig, z. B. weil es unzulässige Zeichen verwendet. Erfahren Sie mehr über die Kennwortrichtlinien von Microsoft Entra. Diese Antwort ist möglich, wenn die App ein Benutzerkennwort sendet.

Benutzerattribute übermitteln

Um den Flow fortzusetzen, muss die App einen Aufruf an den /signup/v1.0/continue-Endpunkt durchführen, um die erforderlichen Benutzerattribute zu übermitteln. Da Attribute übermittelt werden, ist ein attributes-Parameter erforderlich, und der grant_type-Parameter muss einen Wert aufweisen, der attributes entspricht.

Hier ist ein Beispiel für die Anforderung (zur besseren Lesbarkeit wird die Beispielanforderung in mehreren Zeilen dargestellt):

POST https://{tenant_subdomain}.ciamlogin.com/{tenant_subdomain}.onmicrosoft.com/signup/v1.0/continue
Content-Type: application/x-www-form-urlencoded

&client_id=00001111-aaaa-2222-bbbb-3333cccc4444 
&grant_type=attributes 
&attributes={"displayName": "{given_name}", "extension_2588abcdwhtfeehjjeeqwertc_age": "{user_age}", "postaCode": "{postal_code}"}
&continuation_token=AQABAAEAAAAtn...
Parameter Erforderlich Beschreibung
tenant_subdomain Ja Die Unterdomäne des von Ihnen erstellten externen Mandanten. Ersetzen Sie in der URL {tenant_subdomain} durch die Unterdomäne des Verzeichnisses (Mandant). Wenn beispielsweise die primäre Domäne Ihres Mandanten contoso.onmicrosoft.com ist, verwenden Sie contoso. Wenn Sie keine Mandantenunterdomäne haben, lernen Sie, wie Sie Ihre Mandantendetails auslesen.
continuation_token Ja Fortsetzungstoken, das Microsoft Entra in der vorherigen Anforderung zurückgegeben hat.
client_id Ja Die Anwendungs-ID (Client-ID) der Anwendung, die Sie im Microsoft Entra Admin Center registriert haben.
grant_type Ja Eine Anforderung an den /signup/v1.0/continue-Endpunkt kann verwendet werden, um den Einmal-Passcode, das Kennwort oder Benutzerattribute zu übermitteln. In diesem Fall wird der grant_type-Wert verwendet, um zwischen diesen drei Anwendungsfällen zu unterscheiden. Die möglichen Werte für den grant_type sind oob, password oder attributes. In diesem Aufruf wird erwartet, dass der Wert attributes ist, da wir Benutzerattribute senden.
attributes Ja Die Benutzerattributwerte, welche die App vom Kundenbenutzer sammelt. Der Wert ist eine Zeichenfolge, aber als JSON-Objekt formatiert, dessen Schlüsselwerte Namen von Benutzerattributen sind, integriert oder benutzerdefiniert. Die Schlüsselnamen des Objekts hängen von den Attributen ab, die der Administrator im Microsoft Entra Admin Center konfiguriert hat. Ersetzen Sie {given_name}, {user_age} und {postal_code} jeweils durch die Werte für Name, Alter und Postleitzahl, die die App vom Kundenbenutzer einholt. Microsoft Entra ignoriert alle nicht existierenden Attribute, die Sie übermitteln.

Antwort bei Erfolg

Wenn die Anforderung erfolgreich ist, stellt Microsoft Entra ein Fortsetzungstoken aus, das von der App zum Anfordern von Sicherheitstoken verwendet werden kann.

HTTP/1.1 200 OK
Content-Type: application/json
{  
    "continuation_token": "AQABAAEAAAYn..."
} 
Parameter Beschreibung
continuation_token Fortsetzungstoken, das von Microsoft Entra zurückgegeben wird.

Wenn eine App eine von Microsoft Entra erforderliche Authentifizierungsmethode nicht unterstützen kann, ist ein Fallback auf den webbasierten Authentifizierungsflow erforderlich. In diesem Szenario informiert Microsoft Entra die App durch Zurückgeben eines Aufforderungstyps Umleitung in seiner Antwort:

HTTP/1.1 200 OK
Content-Type: application/json
{     
   "challenge_type": "redirect" 
} 
Parameter Beschreibung
challenge_type Microsoft Entra gibt eine Antwort zurück, die einen Aufforderungstyp enthält. Der Wert dieses Aufforderungstyps ist „Umleitung“, mit dem die App den webbasierten Authentifizierungsflow verwenden kann.

Diese Antwort gilt als erfolgreich, die App muss jedoch zu einem webbasierten Authentifizierungsflow wechseln. In diesem Fall empfehlen wird Ihnen, eine von Microsoft erstellte und unterstützte Authentifizierungsbibliothek zu verwenden.

Fehlerantwort

Beispiel:

HTTP/1.1 400 Bad Request
Content-Type: application/json
{
    "error": "expired_token",
    "error_description": "AADSTS901007: The continuation_token is expired.  .\r\nTrace ID: 0000aaaa-11bb-cccc-dd22-eeeeee333333\r\nCorrelation ID: aaaa0000-bb11-2222-33cc-444444dddddd\r\nTimestamp: yyyy-...", 
    "error_codes": [
        552003
    ], 
    "timestamp": "yyyy-mm-dd 10:15:00Z",
    "trace_id": "0000aaaa-11bb-cccc-dd22-eeeeee333333", 
    "correlation_id": "aaaa0000-bb11-2222-33cc-444444dddddd" 
}
Parameter Beschreibung
error Eine Fehlercodezeichenfolge, die zum Klassifizieren der Fehlertypen und für die Reaktion auf Fehler verwendet werden kann.
error_description Eine spezifische Fehlermeldung, die Ihnen bei der Identifizierung der Hauptursache eines Authentifizierungsfehlers helfen kann.
error_codes Eine Liste der Microsoft Entra-spezifischen Fehlercodes, die Ihnen bei der Diagnose von Fehlern helfen können.
timestamp Die Uhrzeit, zu der der Fehler aufgetreten ist
trace_id Ein eindeutiger Bezeichner für die Anforderung, die Ihnen bei der Diagnose von Fehlern helfen kann.
correlation_id Ein eindeutiger Bezeichner für die Anforderung, die bei der komponentenübergreifenden Diagnose helfen kann
continuation_token Fortsetzungstoken, das von Microsoft Entra zurückgegeben wird.
unverified_attributes Eine Liste (ein Array von Objekten) von Attributschlüsselnamen, die überprüft werden müssen. Dieser Parameter ist in der Antwort enthalten, wenn der Wert des error-Parameters verification_required ist.
required_attributes Eine Liste (ein Array von Objekten) von Attributen, welche die App übermitteln muss. Microsoft Entra schließt diesen Parameter in seine Antwort ein, wenn der Wert des error-Parameters attributes_required ist.
invalid_attributes Eine Liste (ein Array von Objekten) von Attributen, bei denen die Validierung fehlgeschlagen ist. Dieser Parameter ist in der Antwort enthalten, wenn der Wert des suberror-Parameters attribute_validation_failed ist.
suberror Eine Fehlercodezeichenfolge, die zum weiteren Klassifizieren von Fehlertypen verwendet werden kann.

Hier sind die möglichen Fehler, auf die Sie stoßen können (mögliche Werte des error-Parameters):

Fehlerwert Beschreibung
invalid_request Die Validierung des Anforderungsparameters ist fehlgeschlagen, z. B. ist eine Validierung des Fortsetzungstokens fehlgeschlagen, oder die Anforderung enthielt keinen client_id-Parameter, oder der Client-ID-Wert ist leer oder ungültig.
invalid_grant Der bereitgestellte Gewährungstyp ist nicht gültig oder unterstützt, oder die Validierung ist fehlgeschlagen, z. B. die Validierung von Attributen. Verwenden Sie den suberror-Parameter, um die genaue Ursache des Fehlers zu erfahren.
expired_token Das in der Anforderung enthaltene Fortsetzungstoken ist abgelaufen.
attributes_required Mindestens ein Benutzerattribut ist erforderlich.

Wenn der Fehlerparameter einen Wert von invalid_grant hat, schließt Microsoft Entra einen suberror-Parameter in seiner Antwort ein. Hier sind die möglichen Werte des suberror-Parameters für einen invalid_grant-Fehler:

Unterfehlerwert Beschreibung
attribute_validation_failed Die Validierung des Benutzerattributes ist fehlgeschlagen. Der invalid_attributes-Parameter enthält die Liste (das Array von Objekten) der Attribute, bei denen die Validierung fehlgeschlagen ist.

Schritt 5: Anfordern von Sicherheitstoken

Die App sendet eine POST-Anforderung an den /token-Endpunkt und stellt das Fortsetzungstoken bereit, das im vorherigen Schritt erhalten wurde, um Sicherheitstoken zu erwerben.

Hier ist ein Beispiel für die Anforderung (zur besseren Lesbarkeit wird die Beispielanforderung in mehreren Zeilen dargestellt):

POST https://{tenant_subdomain}.ciamlogin.com/{tenant_subdomain}.onmicrosoft.com/oauth2/v2.0/token
Content-Type: application/x-www-form-urlencoded
 
continuation_token=ABAAEAAAAtyo... 
&client_id=00001111-aaaa-2222-bbbb-3333cccc4444 
&username=contoso-consumer@contoso.com
&scope={scopes}
&grant_type=continuation_token 
Parameter Erforderlich Beschreibung
tenant_subdomain Ja Die Unterdomäne des von Ihnen erstellten externen Mandanten. Ersetzen Sie in der URL {tenant_subdomain} durch die Unterdomäne des Verzeichnisses (Mandant). Wenn beispielsweise die primäre Domäne Ihres Mandanten contoso.onmicrosoft.com ist, verwenden Sie contoso. Wenn Sie keine Mandantenunterdomäne haben, lernen Sie, wie Sie Ihre Mandantendetails auslesen.
client_id Ja Die Anwendungs-ID (Client-ID) der Anwendung, die Sie im Microsoft Entra Admin Center registriert haben.
grant_type Ja Der Parameterwert muss ein Fortsetzungstoken sein.
continuation_token Ja Fortsetzungstoken, das Microsoft Entra im vorherigen Schritt zurückgegeben hat.
scope Ja Eine durch Leerzeichen getrennte Liste von Bereichen, für die das Zugriffstoken gültig ist. Ersetzen Sie {scopes} durch die gültigen Bereiche, für die das von Microsoft Entra zurückgegebene Zugriffstoken gültig ist.
username Ja E-Mail des Kundenbenutzers, bei dem sie sich registrieren möchten, z. B. contoso-consumer@contoso.com.

Erfolgreiche Antwort

Hier ist ein Beispiel für eine erfolgreiche Antwort:

HTTP/1.1 200 OK
Content-Type: application/json
{
    "token_type": "Bearer",
    "scope": "openid profile",
    "expires_in": 4141,
    "access_token": "eyJ0eXAiOiJKV1Qi...",
    "refresh_token": "AwABAAAA...",
    "id_token": "eyJ0eXAiOiJKV1Q..."
}
Parameter Beschreibung
access_token Das Zugriffstoken, das die App vom /token-Endpunkt angefordert hat. Die App kann dieses Zugriffstoken verwenden, um den Zugriff auf gesicherte Ressourcen wie Web-APIs anzufordern.
token_type Gibt den Wert des Tokentyps an. Der einzige Typ, den Microsoft Entra unterstützt, ist Bearer.
expires_in Gibt die Zeit in Sekunden an, wie lange das Zugriffstoken gültig bleibt.
scopes Eine durch Leerzeichen getrennte Liste von Bereichen, für die das Zugriffstoken gültig ist.
refresh_token Ein Aktualisierungstoken von OAuth 2.0. Die App kann dieses Token verwenden, um nach Ablauf der aktuellen Zugriffstoken zusätzliche Zugriffstoken zu erhalten. Aktualisierungstoken sind langlebig. Sie können den Zugriff auf Ressourcen über einen längeren Zeitraum beibehalten. Weitere Details zum Aktualisieren eines Zugriffstokens finden Sie im Artikel Aktualisieren des Zugriffstokens.
Hinweis: Wird nur ausgegeben, wenn der offline_access-Bereich angefordert wurde.
id_token Ein JSON-Webtoken (Jwt), das zum Identifizieren des Kundenbenutzers verwendet wird. Die App kann das Token dekodieren, um Informationen zum angemeldeten Benutzer zu lesen. Die App kann die Werte zwischenspeichern und anzeigen, und vertrauliche Clients können dieses Token zur Autorisierung verwenden. Weitere Informationen zu ID-Token finden Sie unter ID-Token.
Hinweis: Wird nur ausgegeben, wenn der openid-Bereich angefordert wird.

Fehlerantwort

Beispiel:

HTTP/1.1 400 Bad Request
Content-Type: application/json
{ 
    "error": "invalid_request", 
    "error_description": "AADSTS901007: The client doesn't have consent for the requested scopes.\r\nTrace ID: 0000aaaa-11bb-cccc-dd22-eeeeee333333\r\nCorrelation ID: aaaa0000-bb11-2222-33cc-444444dddddd\r\nTimestamp: yyyy-...",
    "error_codes": [ 
        50126 
    ], 
    "timestamp": "yyyy-mm-dd 10:15:00Z",
    "trace_id": "0000aaaa-11bb-cccc-dd22-eeeeee333333", 
    "correlation_id": "aaaa0000-bb11-2222-33cc-444444dddddd"
} 
Parameter Beschreibung
error Eine Fehlercodezeichenfolge, die zum Klassifizieren der Fehlertypen und für die Reaktion auf Fehler verwendet werden kann.
error_description Eine spezifische Fehlermeldung, die Ihnen bei der Identifizierung der Hauptursache eines Authentifizierungsfehlers helfen kann.
error_codes Eine Liste der Microsoft Entra-spezifischen Fehlercodes, die Ihnen bei der Diagnose von Fehlern helfen können.
timestamp Die Uhrzeit, zu der der Fehler aufgetreten ist
trace_id Ein eindeutiger Bezeichner für die Anforderung, die Ihnen bei der Diagnose von Fehlern helfen kann.
correlation_id Ein eindeutiger Bezeichner für die Anforderung, die bei der komponentenübergreifenden Diagnose helfen kann

Hier sind die möglichen Fehler, auf die Sie stoßen können (mögliche Werte des error-Parameters):

Fehlerwert Beschreibung
invalid_request Die Validierung des Anforderungsparameters ist fehlgeschlagen, z. B. hat der Client/die App keine Einwilligung für die angeforderten Bereiche.
invalid_grant Das in der Anforderung enthaltene Fortsetzungstoken ist ungültig.
unauthorized_client Die in der Anforderung enthaltene Client-ID ist ungültig oder nicht vorhanden.
unsupported_grant_type Der in der Anforderung enthaltene Gewährungstyp wird nicht unterstützt oder ist falsch.

Übermitteln von Benutzerattributen an Endpunkte

Im Microsoft Entra Admin Center können Sie Benutzerattribute als erforderlich oder optional konfigurieren. Diese Konfiguration bestimmt, wie Microsoft Entra reagiert, wenn Sie die Endpunkte aufrufen. Optionale Attribute sind zum Abschließen des Registrierungsflows nicht zwingend erforderlich. Wenn also alle Attribute optional sind, müssen sie vor der Überprüfung des Benutzernamens übermittelt werden. Andernfalls wird die Registrierung ohne die optionalen Attribute abgeschlossen.

In der folgenden Tabelle wird zusammengefasst, wann es möglich ist, Benutzerattribute an Microsoft Entra-Endpunkte zu übermitteln.

Endpunkt Erforderliche Attribute Optionale Attribute Erforderliche und optionale Attribute
Endpunkt /signup/v1.0/start Ja Ja Ja
Endpunkt /signup/v1.0/continue vor der Überprüfung des Benutzernamens Ja Ja Ja
Endpunkt /signup/v1.0/continue nach der Überprüfung des Benutzernamens Ja Keine Ja

Format von Benutzerattributwerten

Sie geben die Informationen an, die Sie vom Benutzer erfassen möchten, indem Sie die Benutzerfloweinstellungen im Microsoft Entra Admin Center konfigurieren. Verwenden Sie den Artikel Sammeln von benutzerdefinierten Benutzerattributen während der Registrierung, um zu erfahren, wie Werte sowohl für integrierte als auch für benutzerdefinierte Attribute gesammelt werden.

Sie können auch den Benutzereingabetyp für die von Ihnen konfigurierten Attribute angeben. Die folgende Tabelle fasst die unterstützten Benutzereingabetypen zusammen und wie Werte an Microsoft Entra übermittelt werden, die von den Benutzeroberfläche-Steuerelementen gesammelt werden.

Benutzereingabetyp Format der übermittelten Werte
TextBox  Ein einzelner Wert, z. B. Position, Softwaretechniker.
SingleRadioSelect Ein einzelner Wert wie Sprache, Norwegisch. 
CheckboxMultiSelect Ein oder mehrere Werte wie ein Hobby oder Hobbys, Tanzen oder Tanzen, Schwimmen, Reisen.

Hier ist eine Beispielanforderung, die zeigt, wie Sie die Werte der Attribute übermitteln:

POST /{tenant_subdomain}.onmicrosoft.com/signup/v1.0/continue HTTP/1.1
Host: {tenant_subdomain}.ciamlogin.com
Content-Type: application/x-www-form-urlencoded
 
continuation_token=ABAAEAAAAtfyo... 
&client_id=00001111-aaaa-2222-bbbb-3333cccc4444 
&grant_type=attributes 
&attributes={"jobTitle": "Software Engineer", "extension_2588abcdwhtfeehjjeeqwertc_language": "Norwegian", "extension_2588abcdwhtfeehjjeeqwertc_hobbies": "Dancing,Swimming,Traveling"}
&continuation_token=AQABAAEAAAAtn...

Weitere Informationen zu Benutzerattribut-Eingabetypen finden Sie im Artikel Benutzerdefinierte Benutzerattribut-Eingabetypen.

Verweisen auf Benutzerattribute

Wenn Sie einen Benutzerflow für die Registrierung erstellen, konfigurieren Sie Benutzerattribute, die Sie während der Registrierung vom Benutzer sammeln möchten. Die Namen der Benutzerattribute im Microsoft Entra Admin Center unterscheiden sich von denen, auf die Sie in der nativen Authentifizierungs-API verweisen.

Beispielsweise wird Anzeigename im Microsoft Entra Admin Center als displayName in der API referenziert.

Verwenden Sie den Artikel Benutzerprofilattribute, um zu erfahren, wie Sie sowohl integrierte als auch benutzerdefinierte Benutzerattribute in der nativen Authentifizierungs-API referenzieren.

Referenz zur Anmelde-API

Benutzer müssen sich mit der Authentifizierungsmethode anmelden, die sie für die Registrierung verwenden. Wenn sich Benutzer beispielsweise mit der Authentifizierungsmethode „E-Mail mit Kennwort“ registrieren, müssen sie sich auch mit dieser Methode anmelden.

Um Sicherheitstoken anzufordern, interagiert Ihre Anwendung mit drei Endpunkten: /initiate, /challenge und /token.

Anmelde-API-Endpunkte

Endpunkt Beschreibung
/initiate Dieser Endpunkt initiiert den Anmeldeflow. Wenn Ihre App ihn mit einem Benutzernamen eines bereits vorhandenen Benutzerkontos aufruft, wird eine Erfolgsantwort mit einem Fortsetzungstoken zurückgegeben. Wenn Ihre App Authentifizierungsmethoden anfordert, die von Microsoft Entra nicht unterstützt werden, kann diese Endpunktantwort Ihre App anweisen, dass sie einen browserbasierten Authentifizierungsflow verwenden muss.
/challenge Ihre App ruft diesen Endpunkt mit einer Liste von Aufforderungstypen auf, die vom Identitätsdienst unterstützt werden. Unser Identitätsdienst generiert und sendet dann einen Einmal-Passcode an den ausgewählten Aufforderungskanal wie z. B. E-Mail. Wenn Ihre App diesen Endpunkt wiederholt aufruft, wird bei jedem Aufruf ein neues OTP gesendet.
/token Dieser Endpunkt überprüft den Einmal-Passcode, den er von Ihrer App empfängt, und gibt dann Sicherheitstoken für Ihre App aus.

Anmeldeaufforderungstypen

Die API ermöglicht der App, die unterstützten Authentifizierungsmethoden anzukündigen, wenn sie einen Aufruf an Microsoft Entra sendet. Dazu verwendet die App den challenge_type-Parameter in ihren Anforderungen. Dieser Parameter enthält vordefinierte Werte, die unterschiedliche Authentifizierungsmethoden darstellen.

Für jede Authentifizierungsmethode sind die Werte der Captcha-Typen, die eine App beim Registrierungsflow an Microsoft Entra sendet, identisch mit der Anmeldung der App. Beispielsweise verwendet die Authentifizierungsmethode „E-Mail mit Kennwort“ für den Captcha-Typ die Werte oob, password und redirect sowohl für den Registrierungs- als auch für den Anmeldungsflow.

Weitere Informationen zu den Captcha-Typen finden Sie im Artikel Aufforderungstypen für native Authentifizierung.

Details des Anmeldeflowprotokolls

Das Sequenzdiagramm veranschaulicht den Flow des Anmeldeprozesses.

Diagramm der nativen Authentifizierungsanmeldung per E-Mail mit Einmal-Passcode

Nachdem die Anwendung die E-Mail des Benutzers mit dem OTP überprüft hat, erhält sie Sicherheitstoken. Wenn sich die Zustellung des Einmal-Passcodes verzögert oder er nicht an die E-Mail-Adresse des Benutzers übermittelt wird, kann der Benutzer anfordern, dass ihm ein anderer Einmal-Passcode zugesendet wird. Microsoft Entra sendet einen anderen Einmal-Passcode, wenn der vorherige nicht verifiziert wurde. Wenn Microsoft Entra erneut einen Einmal-Passcode sendet, wird der zuvor gesendete ungültig.

In den folgenden Abschnitten fassen wir den Sequenzdiagrammflow in drei grundlegende Schritte zusammen.

Schritt 1: Anfordern, den Anmeldeflow zu starten

Der Authentifizierungsflow beginnt mit der Anwendung, die eine POST-Anforderung an den /initiate-Endpunkt sendet, um den Anmeldeflow zu starten.

Hier ist ein Beispiel für die Anforderung (zur besseren Lesbarkeit wird die Beispielanforderung in mehreren Zeilen dargestellt):

POST https://{tenant_subdomain}.ciamlogin.com/{tenant_subdomain}.onmicrosoft.com/oauth2/v2.0/initiate
Content-Type: application/x-www-form-urlencoded

client_id=00001111-aaaa-2222-bbbb-3333cccc4444
&challenge_type=password redirect
&username=contoso-consumer@contoso.com 
Parameter Erforderlich Beschreibung
tenant_subdomain Ja Die Unterdomäne des von Ihnen erstellten externen Mandanten. Ersetzen Sie in der URL {tenant_subdomain} durch die Unterdomäne des Verzeichnisses (Mandant). Wenn beispielsweise die primäre Domäne Ihres Mandanten contoso.onmicrosoft.com ist, verwenden Sie contoso. Wenn Sie keine Mandantenunterdomäne haben, lernen Sie, wie Sie Ihre Mandantendetails auslesen.
client_id Ja Die Anwendungs-ID (Client-ID) der Anwendung, die Sie im Microsoft Entra Admin Center registriert haben.
username Ja E-Mail des Kundenbenutzers, z. B. contoso-consumer@contoso.com.
challenge_type Ja Eine durch Leerzeichen getrennte Liste der Aufforderungstyp-Zeichenfolgen für die Autorisierung, die von der App unterstützt werden, z. B. oob password redirect. Die Liste muss immer den redirect-Aufforderungstyp enthalten. Für „E-Mail mit Einmal-Passcode“ wird der Wert oob redirect erwartet. Für „E-Mail mit Kennwort“ wird der Wert password redirect erwartet.

Antwort bei Erfolg

Hier ist ein Beispiel für eine erfolgreiche Antwort:

HTTP/1.1 200 OK
Content-Type: application/json
{
    "continuation_token": "uY29tL2F1dGhlbnRpY..."
}
Parameter Beschreibung
continuation_token Fortsetzungstoken, das von Microsoft Entra zurückgegeben wird.

Wenn eine App eine von Microsoft Entra erforderliche Authentifizierungsmethode nicht unterstützen kann, ist ein Fallback auf den webbasierten Authentifizierungsflow erforderlich. In diesem Szenario informiert Microsoft Entra die App durch Zurückgeben eines Aufforderungstyps Umleitung in seiner Antwort:

HTTP/1.1 200 OK
Content-Type: application/json

{     
   "challenge_type": "redirect" 
} 
Parameter Beschreibung
challenge_type Microsoft Entra gibt eine Antwort zurück, die einen Aufforderungstyp enthält. Der Wert dieses Aufforderungstyps ist „Umleitung“, mit dem die App den webbasierten Authentifizierungsflow verwenden kann.

Diese Antwort gilt als erfolgreich, die App muss jedoch zu einem webbasierten Authentifizierungsflow wechseln. In diesem Fall empfehlen wird Ihnen, eine von Microsoft erstellte und unterstützte Authentifizierungsbibliothek zu verwenden.

Fehlerantwort

Beispiel:

HTTP/1.1 400 Bad Request
Content-Type: application/json
{ 
    "error": "invalid_request", 
    "error_description": "AADSTS901007: The challenge_type list parameter does not include the 'redirect' type.\r\nTrace ID: 0000aaaa-11bb-cccc-dd22-eeeeee333333\r\nCorrelation ID: aaaa0000-bb11-2222-33cc-444444dddddd\r\nTimestamp: yyyy-...",
    "error_codes": [ 
        901007 
    ], 
    "timestamp": "yyyy-mm-dd 10:15:00Z",
    "trace_id": "0000aaaa-11bb-cccc-dd22-eeeeee333333", 
    "correlation_id": "aaaa0000-bb11-2222-33cc-444444dddddd"
} 
Parameter Beschreibung
error Eine Fehlercodezeichenfolge, die zum Klassifizieren der Fehlertypen und für die Reaktion auf Fehler verwendet werden kann.
error_description Eine spezifische Fehlermeldung, die Ihnen bei der Identifizierung der Hauptursache eines Authentifizierungsfehlers helfen kann.
error_codes Eine Liste der Microsoft Entra-spezifischen Fehlercodes, die Ihnen bei der Diagnose von Fehlern helfen können.
timestamp Die Uhrzeit, zu der der Fehler aufgetreten ist
trace_id Ein eindeutiger Bezeichner für die Anforderung, die Ihnen bei der Diagnose von Fehlern helfen kann.
correlation_id Ein eindeutiger Bezeichner für die Anforderung, die bei der komponentenübergreifenden Diagnose helfen kann

Hier sind die möglichen Fehler, auf die Sie stoßen können (mögliche Werte des error-Parameters):

Fehlerwert Beschreibung
invalid_request Die Validierung des Anforderungsparameters ist fehlgeschlagen, z. B. wenn der challenge_type-Parameter einen ungültigen Aufforderungstyp enthält. oder die Anforderung hat keinen client_id-Parameter enthalten, oder der Client-ID-Wert ist leer oder ungültig. Verwenden Sie den error_description-Parameter, um die genaue Ursache des Fehlers zu erfahren.
unauthorized_client Die in der Anforderung verwendete Client-ID weist ein gültiges Client-ID-Format auf, ist aber nicht im externen Mandanten vorhanden oder ist fehlerhaft.
invalid_client Die Client-ID, welche die App in die Anforderung einschließt, ist für eine App, der eine native Authentifizierungskonfiguration fehlt, wenn sie z. B. kein öffentlicher Client oder nicht für die native Authentifizierung aktiviert ist. Verwenden Sie den suberror-Parameter, um die genaue Ursache des Fehlers zu erfahren.
user_not_found Der Benutzername ist nicht vorhanden.
unsupported_challenge_type Der challenge_type-Parameterwert enthält nicht den redirect-Aufforderungstyp.

Wenn der Fehlerparameter einen Wert von invalid_client hat, schließt Microsoft Entra einen suberror-Parameter in seiner Antwort ein. Hier sind die möglichen Werte des suberror-Parameters für einen invalid_client-Fehler:

Unterfehlerwert Beschreibung
nativeauthapi_disabled Die Client-ID für eine App, die nicht für die native Authentifizierung aktiviert ist.

Schritt 2: Authentifizierungsmethode auswählen

Um den Flow fortzusetzen, verwendet die App das aus dem vorherigen Schritt erworbene Fortsetzungstoken, um Microsoft Entra aufzufordern, einen der unterstützten Captcha-Typen auszuwählen, mit denen sich der Benutzer authentifizieren kann. Die App sendet eine POST-Anforderung an den /challenge-Endpunkt.

Hier ist ein Beispiel für die Anforderung (zur besseren Lesbarkeit wird die Beispielanforderung in mehreren Zeilen dargestellt):

POST https://{tenant_subdomain}.ciamlogin.com/{tenant_subdomain}.onmicrosoft.com/oauth2/v2.0/challenge
Content-Type: application/x-www-form-urlencoded

client_id=00001111-aaaa-2222-bbbb-3333cccc4444
&challenge_type=password redirect 
&continuation_token=uY29tL2F1dGhlbnRpY... 
Parameter Erforderlich Beschreibung
tenant_subdomain Ja Die Unterdomäne des von Ihnen erstellten externen Mandanten. Ersetzen Sie in der URL {tenant_subdomain} durch die Unterdomäne des Verzeichnisses (Mandant). Wenn beispielsweise die primäre Domäne Ihres Mandanten contoso.onmicrosoft.com ist, verwenden Sie contoso. Wenn Sie keine Mandantenunterdomäne haben, lernen Sie, wie Sie Ihre Mandantendetails auslesen.
client_id Ja Die Anwendungs-ID (Client-ID) der Anwendung, die Sie im Microsoft Entra Admin Center registriert haben.
continuation_token Ja Fortsetzungstoken, das Microsoft Entra in der vorherigen Anforderung zurückgegeben hat.
challenge_type No Eine durch Leerzeichen getrennte Liste der Aufforderungstyp-Zeichenfolgen für die Autorisierung, die von der App unterstützt werden, z. B. oob password redirect. Die Liste muss immer den redirect-Aufforderungstyp enthalten. Für „E-Mail mit Einmal-Passcode“ wird der Wert oob redirect erwartet. Für „E-Mail mit Kennwort“ wird der Wert password redirect erwartet.

Antwort bei Erfolg

Wenn der Mandantenadministrator im Microsoft Entra Admin Center als Authentifizierungsmethode des Benutzers „Einmal-Passcode per E-Mail“ konfiguriert hat, sendet Microsoft Entra einen Einmal-Passcode an die E-Mail-Adresse des Benutzers, antwortet dann mit einem oob-Aufforderungstyp und stellt weitere Informationen zum Einmal-Passcode bereit.

HTTP/1.1 200 OK
Content-Type: application/json
{
    "continuation_token": "uY29tL2F1dGhlbnRpY...",
    "challenge_type": "oob",
    "binding_method": "prompt ", 
    "challenge_channel": "email",
    "challenge_target_label ": "c***r@co**o**o.com ",
    "code_length": 8
} 
Parameter Beschreibung
continuation_token Fortsetzungstoken, das von Microsoft Entra zurückgegeben wird.
challenge_type Aufforderungstyp, der für den Benutzer zur Authentifizierung ausgewählt wurde.
binding_method Der einzige gültige Wert ist prompt. Dieser Parameter kann in Zukunft verwendet werden, um dem Benutzer weitere Möglichkeiten zum Eingeben des Einmal-Passcodes zu bieten. Ausgestellt, wenn challenge_type oob ist
challenge_channel Der Typ des Kanals, über den der Einmal-Passcode gesendet wurde. Zurzeit unterstützen wir E-Mail.
challenge_target_label Eine verschleierte E-Mail-Adresse, an die der Einmal-Passcode gesendet wurde.
code_length Die Länge des Einmal-Passcodes, den Microsoft Entra generiert.

Wenn eine App eine von Microsoft Entra erforderliche Authentifizierungsmethode nicht unterstützen kann, ist ein Fallback auf den webbasierten Authentifizierungsflow erforderlich. In diesem Szenario informiert Microsoft Entra die App durch Zurückgeben eines Aufforderungstyps Umleitung in seiner Antwort:

HTTP/1.1 200 OK
Content-Type: application/json
{     
   "challenge_type": "redirect" 
} 
Parameter Beschreibung
challenge_type Microsoft Entra gibt eine Antwort zurück, die einen Aufforderungstyp enthält. Der Wert dieses Aufforderungstyps ist „Umleitung“, mit dem die App den webbasierten Authentifizierungsflow verwenden kann.

Diese Antwort gilt als erfolgreich, die App muss jedoch zu einem webbasierten Authentifizierungsflow wechseln. In diesem Fall empfehlen wird Ihnen, eine von Microsoft erstellte und unterstützte Authentifizierungsbibliothek zu verwenden.

Fehlerantwort

Beispiel:

HTTP/1.1 400 Bad Request
Content-Type: application/json
{ 
    "error": "invalid_request", 
    "error_description": "AADSTS901007: The challenge_type list parameter does not include the 'redirect' type.\r\nTrace ID: 0000aaaa-11bb-cccc-dd22-eeeeee333333\r\nCorrelation ID: aaaa0000-bb11-2222-33cc-444444dddddd\r\nTimestamp: yyyy-...",
    "error_codes": [ 
        901007 
    ], 
    "timestamp": "yyyy-mm-dd 10:15:00Z",
    "trace_id": "0000aaaa-11bb-cccc-dd22-eeeeee333333", 
    "correlation_id": "aaaa0000-bb11-2222-33cc-444444dddddd"
} 
Parameter Beschreibung
error Eine Fehlercodezeichenfolge, die zum Klassifizieren der Fehlertypen und für die Reaktion auf Fehler verwendet werden kann.
error_description Eine spezifische Fehlermeldung, die Ihnen bei der Identifizierung der Hauptursache eines Authentifizierungsfehlers helfen kann.
error_codes Eine Liste der Microsoft Entra-spezifischen Fehlercodes, die Ihnen bei der Diagnose von Fehlern helfen können.
timestamp Die Uhrzeit, zu der der Fehler aufgetreten ist
trace_id Ein eindeutiger Bezeichner für die Anforderung, die Ihnen bei der Diagnose von Fehlern helfen kann.
correlation_id Ein eindeutiger Bezeichner für die Anforderung, die bei der komponentenübergreifenden Diagnose helfen kann

Hier sind die möglichen Fehler, auf die Sie stoßen können (mögliche Werte des error-Parameters):

Fehlerwert Beschreibung
invalid_request Die Validierung des Anforderungsparameters ist fehlgeschlagen, z. B. wenn der challenge_type-Parameter einen ungültigen Aufforderungstyp enthält.
invalid_grant Das in der Anforderung enthaltene Fortsetzungstoken ist nicht gültig.
expired_token Das in der Anforderung enthaltene Fortsetzungstoken ist abgelaufen.
unsupported_challenge_type Der challenge_type-Parameterwert enthält nicht den redirect-Aufforderungstyp.

Schritt 3: Anforderung für Sicherheitstoken

Die App sendet eine POST-Anforderung an den /token-Endpunkt und stellt die im vorherigen Schritt ausgewählten Anmeldeinformationen des Benutzers bereit, in diesem Fall das Kennwort, um Sicherheitstoken zu erwerben.

Hier ist ein Beispiel für die Anforderung (zur besseren Lesbarkeit wird die Beispielanforderung in mehreren Zeilen dargestellt):

POST https://{tenant_subdomain}.ciamlogin.com/{tenant_subdomain}.onmicrosoft.com/oauth2/v2.0/token
Content-Type: application/x-www-form-urlencoded

continuation_token=uY29tL2F1dGhlbnRpY...
&client_id=00001111-aaaa-2222-bbbb-3333cccc4444 
&grant_type=password 
&password={secure_password}
&scope=openid offline_access 
Parameter Erforderlich Beschreibung
tenant_subdomain Ja Die Unterdomäne des von Ihnen erstellten externen Mandanten. Ersetzen Sie in der URL {tenant_subdomain} durch die Unterdomäne des Verzeichnisses (Mandant). Wenn beispielsweise die primäre Domäne Ihres Mandanten contoso.onmicrosoft.com ist, verwenden Sie contoso. Wenn Sie keine Mandantenunterdomäne haben, lernen Sie, wie Sie Ihre Mandantendetails auslesen.
client_id Ja Die Anwendungs-ID (Client-ID) der Anwendung, die Sie im Microsoft Entra Admin Center registriert haben.
continuation_token Ja Fortsetzungstoken, das Microsoft Entra in der vorherigen Anforderung zurückgegeben hat.
grant_type Ja Für die Authentifizierungsmethode „E-Mail mit Kennwort“ muss der Wert password sein, für „E-Mail mit Einmal-Passcode“ muss der Wert oob sein.
scope Ja Eine durch Leerzeichen getrennte Liste von Bereichen. Alle Bereiche müssen aus einer einzelnen Ressource stammen, zusammen mit OpenID Connect (OIDC)-Bereichen, z. B. Profil, *openid und E-Mail. Die App muss den openid-Bereich enthalten, damit Microsoft Entra ein ID-Token ausgibt. Die App muss den offline_access-Bereich enthalten, damit Microsoft Entra ein Aktualisierungstoken ausgibt. Erfahren Sie mehr über Berechtigungen und Einwilligung in der Microsoft-Identitätsplattform.
password Ja.
(für E-Mail mit Kennwort)
Der Kennwortwert, den die App vom Kundenbenutzer sammelt. Ersetzen Sie {secure_password} mit dem Kennwortwert, den die App vom Kundenbenutzer sammelt.
oob Ja.
(für E-Mail mit Einmal-Passcode)
Der Einmal-Passcode, den der Kunde per E-Mail erhalten hat. Ersetzen Sie {otp_code} durch den Einmal-Passcode, den der Kunde per E-Mail erhalten hat. Um einen Einmal-Passcode erneut zu senden, muss die App erneut eine Anforderung an den /challenge-Endpunkt senden.

Erfolgreiche Antwort

Hier ist ein Beispiel für eine erfolgreiche Antwort:

HTTP/1.1 200 OK
Content-Type: application/json
{
    "token_type": "Bearer",
    "scope": "openid profile",
    "expires_in": 4141,
    "access_token": "eyJ0eXAiOiJKV1Qi...",
    "refresh_token": "AwABAAAA...",
    "id_token": "eyJ0eXAiOiJKV1Q..."
}
Parameter BESCHREIBUNG
token_type Gibt den Wert des Tokentyps an. Der einzige Typ, den Microsoft Entra unterstützt, ist Bearer.
scopes Eine durch Leerzeichen getrennte Liste von Bereichen, für die das Zugriffstoken gültig ist.
expires_in Gibt die Zeit in Sekunden an, wie lange das Zugriffstoken gültig bleibt.
access_token Das Zugriffstoken, das die App vom /token-Endpunkt angefordert hat. Die App kann dieses Zugriffstoken verwenden, um den Zugriff auf gesicherte Ressourcen wie Web-APIs anzufordern.
refresh_token Ein Aktualisierungstoken von OAuth 2.0. Die App kann dieses Token verwenden, um nach Ablauf der aktuellen Zugriffstoken zusätzliche Zugriffstoken zu erhalten. Aktualisierungstoken sind langlebig. Sie können den Zugriff auf Ressourcen über einen längeren Zeitraum beibehalten. Weitere Details zum Aktualisieren eines Zugriffstokens finden Sie im Artikel Aktualisieren des Zugriffstokens.
Hinweis: Wird nur ausgegeben, wenn Sie den Bereich offline_access anfordern.
id_token Ein JSON-Webtoken (Jwt), das zum Identifizieren des Kundenbenutzers verwendet wird. Die App kann das Tokens decodieren, um Informationen zum angemeldeten Benutzer abzurufen. Die App kann die Werte zwischenspeichern und anzeigen, und vertrauliche Clients können dieses Token zur Autorisierung verwenden. Weitere Informationen zu ID-Token finden Sie unter ID-Token.
Hinweis: Wird nur ausgegeben, wenn Sie den Bereich openid anfordern.

Fehlerantwort

Beispiel:

HTTP/1.1 400 Bad Request
Content-Type: application/json
{ 
    "error": "invalid_grant", 
    "error_description": "AADSTS901007: Error validating credentials due to invalid username or password.\r\nTrace ID: 0000aaaa-11bb-cccc-dd22-eeeeee333333\r\nCorrelation ID: aaaa0000-bb11-2222-33cc-444444dddddd\r\nTimestamp: yyyy-...",
    "error_codes": [ 
        50126 
    ], 
    "timestamp": "yyyy-mm-dd 10:15:00Z",
    "trace_id": "0000aaaa-11bb-cccc-dd22-eeeeee333333", 
    "correlation_id": "aaaa0000-bb11-2222-33cc-444444dddddd"
} 
Parameter Beschreibung
error Eine Fehlercodezeichenfolge, die zum Klassifizieren der Fehlertypen und für die Reaktion auf Fehler verwendet werden kann.
error_description Eine spezifische Fehlermeldung, die Ihnen bei der Identifizierung der Hauptursache eines Authentifizierungsfehlers helfen kann.
error_codes Eine Liste der Microsoft Entra-spezifischen Fehlercodes, die Ihnen bei der Diagnose von Fehlern helfen können.
timestamp Die Uhrzeit, zu der der Fehler aufgetreten ist
trace_id Ein eindeutiger Bezeichner für die Anforderung, die Ihnen bei der Diagnose von Fehlern helfen kann.
correlation_id Ein eindeutiger Bezeichner für die Anforderung, die bei der komponentenübergreifenden Diagnose helfen kann

Hier sind die möglichen Fehler, auf die Sie stoßen können (mögliche Werte des error-Parameters):

Fehlerwert Beschreibung
invalid_request Die Validierung des Anforderungsparameters ist fehlgeschlagen. Um zu verstehen, was passiert ist, verwenden Sie die Meldung in der Fehlerbeschreibung.
invalid_grant Das in der Anforderung enthaltene Fortsetzungstoken ist nicht gültig, oder die Anmeldeinformationen des Kundenbenutzers, die in der Anforderung enthalten sind, sind ungültig, oder der in der Anforderung enthaltene Gewährungstyp ist unbekannt.
invalid_client Die in die Anforderung aufgenommene Client-ID ist nicht für einen öffentlichen Client.
expired_token Das in der Anforderung enthaltene Fortsetzungstoken ist abgelaufen.
invalid_scope Mindestens ein Bereich, der in der Anforderung enthalten ist, ist ungültig.

Wenn der Fehlerparameter einen Wert von invalid_grant hat, schließt Microsoft Entra einen suberror-Parameter in seiner Antwort ein. Hier sind die möglichen Werte des suberror-Parameters für einen invalid_grant-Fehler:

Unterfehlerwert Beschreibung
invalid_oob_value Der Wert des Einmal-Passcodes ist ungültig. Dieser Unterfehler gilt nur für „E-Mail mit Einmal-Passcode“.

Self-Service-Kennwortzurücksetzung (SSPR)

Wenn Sie E-Mail und Kennwort als Authentifizierungsmethode in Ihrer App verwenden, verwenden Sie die Self-Service-Kennwortzurücksetzungs-API (Self-Service Password Reset, SSPR), damit Kundenbenutzer ihr Kennwort zurücksetzen können. Verenden Sie diese API für Szenarien „vergessenes Kennwort“ oder „Kennwort ändern“.

API-Endpunkte für die Self-Service-Kennwortzurücksetzung

Um diese API zu verwenden, interagiert die App mit dem Endpunkt, der in der folgenden Tabelle aufgeführt ist:

Endpunkt Beschreibung
/start Ihre App ruft diesen Endpunkt auf, wenn der Kundenbenutzer in der App den Link Kennwort vergessen oder Kennwort ändern auswählt. Dieser Endpunkt überprüft den Benutzernamen (E-Mail) des Benutzers und gibt dann ein Fortsetzungstoken für die Verwendung im Flow der Kennwortzurücksetzung zurück. Wenn Ihre App Authentifizierungsmethoden anfordert, die von Microsoft Entra nicht unterstützt werden, kann diese Endpunktantwort Ihre App anweisen, dass sie einen browserbasierten Authentifizierungsflow verwenden muss.
/challenge Akzeptiert eine Liste der vom Client unterstützten Aufforderungstypen und das Fortsetzungstoken. Eine Aufforderung wird an eine der bevorzugten Wiederherstellungsanmeldeinformationen ausgegeben. Die oob-Aufforderung stellt beispielsweise einen Out-of-Band-Einmal-Passcode an die E-Mail-Adresse aus, die mit dem Kundenbenutzerkonto verknüpft ist. Wenn Ihre App Authentifizierungsmethoden anfordert, die von Microsoft Entra nicht unterstützt werden, kann diese Endpunktantwort Ihre App anweisen, dass sie einen browserbasierten Authentifizierungsflow verwenden muss.
/continue Überprüft die vom /challenge-Endpunkt ausgegebene Aufforderung, gibt dann entweder ein Fortsetzungstoken für den /submit-Endpunkt zurück oder gibt eine andere Aufforderung für den Benutzer aus.
/submit Akzeptiert eine neue Kennworteingabe durch den Benutzer zusammen mit dem Fortsetzungstoken, um den Flow der Kennwortzurücksetzung abzuschließen. Dieser Endpunkt gibt ein weiteres Fortsetzungstoken aus.
/poll_completion Schließlich kann die App das vom /submit-Endpunkt ausgestellte Fortsetzungstoken verwenden, um den Status der Kennwortzurücksetzungsanforderung zu überprüfen.

Aufforderungstypen für die Self-Service-Kennwortzurücksetzung

Die API ermöglicht der App, die unterstützten Authentifizierungsmethoden anzukündigen, wenn sie einen Aufruf an Microsoft Entra sendet. Dazu verwendet die App den challenge_type-Parameter in ihren Anforderungen. Dieser Parameter enthält vordefinierte Werte, die unterschiedliche Authentifizierungsmethoden darstellen.

Die Aufforderungstypwerte für den SSPR-Flow lauten oob und redirect.

Weitere Informationen zu den Aufforderungstypen finden Sie unter Aufforderungstypen für native Authentifizierung.

Details zum Protokoll der Self-Service-Kennwortzurücksetzung

Das Sequenzdiagramm veranschaulicht den Flow für den Kennwortzurücksetzungsprozess.

Diagramm des Authentifizierungsablaufs für Self-Service-Kennwortzurücksetzung

Dieses Diagramm gibt an, dass die App den Benutzernamen (E-Mail) und das Kennwort vom Benutzer zu unterschiedlichen Zeiten (und möglicherweise auf separaten Bildschirmen) sammelt. Sie können Ihre App jedoch so entwerfen, dass der Benutzername (E-Mail) und das neue Kennwort auf demselben Bildschirm erfasst werden. In diesem Fall enthält die App das Kennwort und sendet es dann über den /submit-Endpunkt, an dem es erforderlich ist.

Schritt 1: Anfordern zum Start des Flows der Self-Service-Kennwortzurücksetzung

Der Flow der Kennwortzurücksetzung beginnt mit der App, die eine POST-Anforderung an den /start-Endpunkt sendet, um den Flow der Self-Service-Kennwortzurücksetzung zu starten.

Hier ist ein Beispiel für die Anforderung (zur besseren Lesbarkeit wird die Beispielanforderung in mehreren Zeilen dargestellt):

POST https://{tenant_subdomain}.ciamlogin.com/{tenant_subdomain}.onmicrosoft.com/resetpassword/v1.0/start
Content-Type: application/x-www-form-urlencoded

client_id=00001111-aaaa-2222-bbbb-3333cccc4444 
&challenge_type=oob redirect 
&username=contoso-consumer@contoso.com 
Parameter Erforderlich Beschreibung
tenant_subdomain Ja Die Unterdomäne des von Ihnen erstellten externen Mandanten. Ersetzen Sie in der URL {tenant_subdomain} durch die Unterdomäne des Verzeichnisses (Mandant). Wenn beispielsweise die primäre Domäne Ihres Mandanten contoso.onmicrosoft.com ist, verwenden Sie contoso. Wenn Sie keine Mandantenunterdomäne haben, lernen Sie, wie Sie Ihre Mandantendetails auslesen.
client_id Ja Die Anwendungs-ID (Client-ID) der Anwendung, die Sie im Microsoft Entra Admin Center registriert haben.
username Ja E-Mail des Kundenbenutzers, z. B. contoso-consumer@contoso.com.
challenge_type Ja Eine durch Leerzeichen getrennte Liste der Aufforderungstyp-Zeichenfolgen für die Autorisierung, die von der App unterstützt werden, z. B. oob password redirect. Die Liste muss immer den redirect-Aufforderungstyp enthalten. Für diese Anforderung wird erwartet, dass der Wert oob redirect enthält.

Antwort bei Erfolg

Beispiel:

HTTP/1.1 200 OK
Content-Type: application/json
{
    "continuation_token": "uY29tL2F1dGhlbnRpY..."
}
Parameter Beschreibung
continuation_token Fortsetzungstoken, das von Microsoft Entra zurückgegeben wird.

Wenn eine App eine von Microsoft Entra erforderliche Authentifizierungsmethode nicht unterstützen kann, ist ein Fallback auf den webbasierten Authentifizierungsflow erforderlich. In diesem Szenario informiert Microsoft Entra die App durch Zurückgeben eines Aufforderungstyps Umleitung in seiner Antwort:

HTTP/1.1 200 OK
Content-Type: application/json
{     
   "challenge_type": "redirect" 
} 
Parameter Beschreibung
challenge_type Microsoft Entra gibt eine Antwort zurück, die einen Aufforderungstyp enthält. Der Wert dieses Aufforderungstyps ist „Umleitung“, mit dem die App den webbasierten Authentifizierungsflow verwenden kann.

Diese Antwort gilt als erfolgreich, die App muss jedoch zu einem webbasierten Authentifizierungsflow wechseln. In diesem Fall empfehlen wird Ihnen, eine von Microsoft erstellte und unterstützte Authentifizierungsbibliothek zu verwenden.

Fehlerantwort

Beispiel:

HTTP/1.1 400 Bad Request
Content-Type: application/json
{ 
    "error": "invalid_request", 
    "error_description": "AADSTS901007: The challenge_type list parameter does not include the 'redirect' type.\r\nTrace ID: 0000aaaa-11bb-cccc-dd22-eeeeee333333\r\nCorrelation ID: aaaa0000-bb11-2222-33cc-444444dddddd\r\nTimestamp: yyyy-...",
    "error_codes": [ 
        901007 
    ], 
    "timestamp": "yyyy-mm-dd 10:15:00Z",
    "trace_id": "0000aaaa-11bb-cccc-dd22-eeeeee333333", 
    "correlation_id": "aaaa0000-bb11-2222-33cc-444444dddddd"
} 
Parameter Beschreibung
error Eine Fehlercodezeichenfolge, die zum Klassifizieren der Fehlertypen und für die Reaktion auf Fehler verwendet werden kann.
error_description Eine spezifische Fehlermeldung, die Ihnen bei der Identifizierung der Hauptursache eines Authentifizierungsfehlers helfen kann.
error_codes Eine Liste der Microsoft Entra-spezifischen Fehlercodes, die Ihnen bei der Diagnose von Fehlern helfen können.
timestamp Die Uhrzeit, zu der der Fehler aufgetreten ist
trace_id Ein eindeutiger Bezeichner für die Anforderung, die Ihnen bei der Diagnose von Fehlern helfen kann.
correlation_id Ein eindeutiger Bezeichner für die Anforderung, die bei der komponentenübergreifenden Diagnose helfen kann

Hier sind die möglichen Fehler, auf die Sie stoßen können (mögliche Werte des error-Parameters):

Fehlerwert Beschreibung
invalid_request Die Validierung des Anforderungsparameters ist fehlgeschlagen, z. B. wenn der challenge_type-Parameter einen ungültigen Aufforderungstyp enthält oder die Aufforderung keinen client_id-Parameter enthält oder der Client-ID-Wert leer oder ungültig ist. Verwenden Sie den error_description-Parameter, um die genaue Ursache des Fehlers zu erfahren.
user_not_found Der Benutzername ist nicht vorhanden.
unsupported_challenge_type Der challenge_type-Parameterwert enthält nicht den redirect-Aufforderungstyp.
invalid_client Die Client-ID, welche die App in die Anforderung einschließt, ist für eine App, der eine native Authentifizierungskonfiguration fehlt, wenn sie z. B. kein öffentlicher Client oder nicht für die native Authentifizierung aktiviert ist. Verwenden Sie den suberror-Parameter, um die genaue Ursache des Fehlers zu erfahren.
unauthorized_client Die in der Anforderung verwendete Client-ID weist ein gültiges Client-ID-Format auf, ist aber nicht im externen Mandanten vorhanden oder ist fehlerhaft.

Wenn der Fehlerparameter einen Wert von invalid_client hat, schließt Microsoft Entra einen suberror-Parameter in seiner Antwort ein. Hier sind die möglichen Werte des suberror-Parameters für einen invalid_client-Fehler:

Unterfehlerwert Beschreibung
nativeauthapi_disabled Die Client-ID für eine App, die nicht für die native Authentifizierung aktiviert ist.

Schritt 2: Authentifizierungsmethode auswählen

Um den Flow fortzusetzen, verwendet die App das aus dem vorherigen Schritt erworbene Fortsetzungstoken, um Microsoft Entra aufzufordern, einen der unterstützten Aufforderungstypen auszuwählen, mit denen der Benutzer sich authentifizieren kann. Die App sendet eine POST-Anforderung an den /challenge-Endpunkt. Wenn diese Anforderung erfolgreich ist, sendet Microsoft Entra einen Einmal-Passcode an die Konto-E-Mail-Adresse des Benutzers. Derzeit unterstützen wir nur die E-Mail-OTP.

Hier ist ein Beispiel (zur besseren Lesbarkeit wird die Beispielanforderung in mehreren Zeilen dargestellt):

POST https://{tenant_subdomain}.ciamlogin.com/{tenant_subdomain}.onmicrosoft.com/resetpassword/v1.0/challenge
Content-Type: application/x-www-form-urlencoded

client_id=client_id=00001111-aaaa-2222-bbbb-3333cccc4444
&challenge_type=oob redirect
&continuation_token=uY29tL2F1dGhlbnRpY... 
Parameter Erforderlich Beschreibung
tenant_subdomain Ja Die Unterdomäne des von Ihnen erstellten externen Mandanten. Ersetzen Sie in der URL {tenant_subdomain} durch die Unterdomäne des Verzeichnisses (Mandant). Wenn beispielsweise die primäre Domäne Ihres Mandanten contoso.onmicrosoft.com ist, verwenden Sie contoso. Wenn Sie keine Mandantenunterdomäne haben, lernen Sie, wie Sie Ihre Mandantendetails auslesen.
client_id Ja Die Anwendungs-ID (Client-ID) der Anwendung, die Sie im Microsoft Entra Admin Center registriert haben.
continuation_token Ja Fortsetzungstoken, das Microsoft Entra in der vorherigen Anforderung zurückgegeben hat.
challenge_type No Eine durch Leerzeichen getrennte Liste der Aufforderungstyp-Zeichenfolgen für die Autorisierung, die von der App unterstützt werden, z. B. oob redirect. Die Liste muss immer den redirect-Aufforderungstyp enthalten. Für diese Anforderung wird erwartet, dass der Wert oob redirect enthält.

Antwort bei Erfolg

Beispiel:

HTTP/1.1 200 OK
Content-Type: application/json
{
    "continuation_token": "uY29tL2F1dGhlbnRpY...",
    "challenge_type": "oob",
    "binding_method": "prompt ", 
    "challenge_channel": "email",
    "challenge_target_label ": "c***r@co**o**o.com ",
    "code_length": 8
} 
Parameter Beschreibung
continuation_token Fortsetzungstoken, das von Microsoft Entra zurückgegeben wird.
challenge_type Aufforderungstyp, der für den Benutzer zur Authentifizierung ausgewählt wurde.
binding_method Der einzige gültige Wert ist prompt. Dieser Parameter kann in Zukunft verwendet werden, um dem Benutzer weitere Möglichkeiten zum Eingeben des Einmal-Passcodes zu bieten. Ausgestellt, wenn challenge_type oob ist
challenge_channel Der Typ des Kanals, über den der Einmal-Passcode gesendet wurde. Zurzeit unterstützen wir E-Mail.
challenge_target_label Eine verschleierte E-Mail-Adresse, an die der Einmal-Passcode gesendet wurde.
code_length Die Länge des Einmal-Passcodes, den Microsoft Entra generiert.

Wenn eine App eine von Microsoft Entra erforderliche Authentifizierungsmethode nicht unterstützen kann, ist ein Fallback auf den webbasierten Authentifizierungsflow erforderlich. In diesem Szenario informiert Microsoft Entra die App durch Zurückgeben eines Aufforderungstyps Umleitung in seiner Antwort:

HTTP/1.1 200 OK
Content-Type: application/json
{     
   "challenge_type": "redirect" 
} 
Parameter Beschreibung
challenge_type Microsoft Entra gibt eine Antwort zurück, die einen Aufforderungstyp enthält. Der Wert dieses Aufforderungstyps ist „Umleitung“, mit dem die App den webbasierten Authentifizierungsflow verwenden kann.

Diese Antwort gilt als erfolgreich, die App muss jedoch zu einem webbasierten Authentifizierungsflow wechseln. In diesem Fall empfehlen wird Ihnen, eine von Microsoft erstellte und unterstützte Authentifizierungsbibliothek zu verwenden.

Fehlerantwort

Beispiel:

HTTP/1.1 400 Bad Request
Content-Type: application/json
{ 
    "error": "invalid_request", 
    "error_description": "AADSTS901007: The challenge_type list parameter does not include the 'redirect' type.\r\nTrace ID: 0000aaaa-11bb-cccc-dd22-eeeeee333333\r\nCorrelation ID: aaaa0000-bb11-2222-33cc-444444dddddd\r\nTimestamp: yyyy-...",
    "error_codes": [ 
        901007 
    ], 
    "timestamp": "yyyy-mm-dd 10:15:00Z",
    "trace_id": "0000aaaa-11bb-cccc-dd22-eeeeee333333", 
    "correlation_id": "aaaa0000-bb11-2222-33cc-444444dddddd"
} 
Parameter Beschreibung
error Eine Fehlercodezeichenfolge, die zum Klassifizieren der Fehlertypen und für die Reaktion auf Fehler verwendet werden kann.
error_description Eine spezifische Fehlermeldung, die Ihnen bei der Identifizierung der Hauptursache eines Authentifizierungsfehlers helfen kann.
error_codes Eine Liste der Microsoft Entra-spezifischen Fehlercodes, die Ihnen bei der Diagnose von Fehlern helfen können.
timestamp Die Uhrzeit, zu der der Fehler aufgetreten ist
trace_id Ein eindeutiger Bezeichner für die Anforderung, die Ihnen bei der Diagnose von Fehlern helfen kann.
correlation_id Ein eindeutiger Bezeichner für die Anforderung, die bei der komponentenübergreifenden Diagnose helfen kann

Hier sind die möglichen Fehler, auf die Sie stoßen können (mögliche Werte des error-Parameters):

Fehlerwert Beschreibung
invalid_request Die Validierung des Anforderungsparameters ist fehlgeschlagen, z. B. wenn der challenge_type-Parameter einen ungültigen Aufforderungstyp enthält oder die Validierung des Fortsetzungstokens fehlschlug.
expired_token Das Fortsetzungstoken ist abgelaufen.
unsupported_challenge_type Der challenge_type-Parameterwert enthält nicht den redirect-Aufforderungstyp.

Schritt 3: Übermitteln eines Einmal-Passcodes

Die App sendet dann eine POST-Anforderung an den /continue-Endpunkt. In der Anforderung muss die App die im vorherigen Schritt ausgewählten Anmeldeinformationen des Benutzers und das vom /challenge-Endpunkt ausgegebene Fortsetzungstoken enthalten.

Hier ist ein Beispiel für die Anforderung (zur besseren Lesbarkeit wird die Beispielanforderung in mehreren Zeilen dargestellt):

POST https://{tenant_subdomain}.ciamlogin.com/{tenant_subdomain}.onmicrosoft.com/resetpassword/v1.0/continue
Content-Type: application/x-www-form-urlencoded

continuation_token=uY29tL2F1dGhlbnRpY... 
&client_id=00001111-aaaa-2222-bbbb-3333cccc4444 
&grant_type=oob 
&oob={otp_code}
Parameter Erforderlich Beschreibung
tenant_subdomain Ja Die Unterdomäne des von Ihnen erstellten externen Mandanten. Ersetzen Sie in der URL {tenant_subdomain} durch die Unterdomäne des Verzeichnisses (Mandant). Wenn beispielsweise die primäre Domäne Ihres Mandanten contoso.onmicrosoft.com ist, verwenden Sie contoso. Wenn Sie keine Mandantenunterdomäne haben, lernen Sie, wie Sie Ihre Mandantendetails auslesen.
continuation_token Ja Fortsetzungstoken, das Microsoft Entra in der vorherigen Anforderung zurückgegeben hat.
client_id Ja Die Anwendungs-ID (Client-ID) der Anwendung, die Sie im Microsoft Entra Admin Center registriert haben.
grant_type Ja Der einzige gültige Wert ist oob.
oob Ja Der Einmal-Passcode, den der Kunde per E-Mail erhalten hat. Ersetzen Sie {otp_code} durch den Einmal-Passcode, den der Kunde per E-Mail erhalten hat. Um einen Einmal-Passcode erneut zu senden, muss die App erneut eine Anforderung an den /challenge-Endpunkt senden.

Antwort bei Erfolg

Beispiel:

HTTP/1.1 200 OK
Content-Type: application/json
{ 
    "expires_in": 600,
    "continuation_token": "czZCaGRSa3F0MzpnW...",
} 
Parameter Beschreibung
expires_in Zeit in Sekunden, bevor das continuation_token abläuft. Der Höchstwert für expires_in beträgt 600 Sekunden.
continuation_token Fortsetzungstoken, das von Microsoft Entra zurückgegeben wird.

Fehlerantwort

Beispiel:

HTTP/1.1 400 Bad Request
Content-Type: application/json
{ 
    "error": "invalid_request", 
    "error_description": "AADSTS55200: The continuation_token is invalid.\r\nTrace ID: 0000aaaa-11bb-cccc-dd22-eeeeee333333\r\nCorrelation ID: aaaa0000-bb11-2222-33cc-444444dddddd\r\nTimestamp: yyyy-...",
    "error_codes": [ 
        55200 
    ], 
    "timestamp": "yyyy-mm-dd 10:15:00Z",
    "trace_id": "0000aaaa-11bb-cccc-dd22-eeeeee333333", 
    "correlation_id": "aaaa0000-bb11-2222-33cc-444444dddddd"
} 
Parameter Beschreibung
error Eine Fehlercodezeichenfolge, die zum Klassifizieren der Fehlertypen und für die Reaktion auf Fehler verwendet werden kann.
error_description Eine spezifische Fehlermeldung, die Ihnen bei der Identifizierung der Hauptursache eines Authentifizierungsfehlers helfen kann.
error_codes Eine Liste der Microsoft Entra-spezifischen Fehlercodes, die Ihnen bei der Diagnose von Fehlern helfen können.
timestamp Die Uhrzeit, zu der der Fehler aufgetreten ist
trace_id Ein eindeutiger Bezeichner für die Anforderung, die Ihnen bei der Diagnose von Fehlern helfen kann.
correlation_id Ein eindeutiger Bezeichner für die Anforderung, die bei der komponentenübergreifenden Diagnose helfen kann
suberror Eine Fehlercodezeichenfolge, die zum weiteren Klassifizieren von Fehlertypen verwendet werden kann.

Hier sind die möglichen Fehler, auf die Sie stoßen können (mögliche Werte des error-Parameters):

Fehlerwert Beschreibung
invalid_request Die Validierung des Anforderungsparameters ist fehlgeschlagen, z. B. ist eine Validierung des Fortsetzungstokens fehlgeschlagen, oder die Anforderung enthielt keinen client_id-Parameter, der Client-ID-Wert ist leer oder ungültig, oder der Administrator des externen Mandanten hat SSPR und E-Mail-OTP nicht für alle Mandantenbenutzer aktiviert. Verwenden Sie den error_description-Parameter, um die genaue Ursache des Fehlers zu erfahren.
invalid_grant Der Gewährungstyp ist unbekannt oder stimmt nicht mit dem erwarteten Wert des Gewährungstyps überein. Verwenden Sie den suberror-Parameter, um die genaue Ursache des Fehlers zu erfahren.
expired_token Das Fortsetzungstoken ist abgelaufen.

Wenn der Fehlerparameter einen Wert von invalid_grant hat, schließt Microsoft Entra einen suberror-Parameter in seiner Antwort ein. Hier sind die möglichen Werte des suberror-Parameters für einen invalid_grant-Fehler:

Unterfehlerwert Beschreibung
invalid_oob_value Der vom Benutzer bereitgestellte Einmal-Passcode ist ungültig.

Schritt 4: Übermitteln eines neuen Kennworts

Die App sammelt ein neues Kennwort vom Benutzer und verwendet dann das vom /continue-Endpunkt ausgestellte Fortsetzungstoken, um das Kennwort zu übermitteln, indem eine POST-Anforderung an den /submit-Endpunkt erstellt wird.

Hier ist ein Beispiel (zur besseren Lesbarkeit wird die Beispielanforderung in mehreren Zeilen dargestellt):

POST https://{tenant_subdomain}.ciamlogin.com/{tenant_subdomain}.onmicrosoft.com/resetpassword/v1.0/submit
Content-Type: application/x-www-form-urlencoded

client_id=00001111-aaaa-2222-bbbb-3333cccc4444
&continuation_token=czZCaGRSa3F0Mzp...
&new_password={new_password}
Parameter Erforderlich Beschreibung
tenant_subdomain Ja Die Unterdomäne des von Ihnen erstellten externen Mandanten. Ersetzen Sie in der URL {tenant_subdomain} durch die Unterdomäne des Verzeichnisses (Mandant). Wenn beispielsweise die primäre Domäne Ihres Mandanten contoso.onmicrosoft.com ist, verwenden Sie contoso. Wenn Sie keine Mandantenunterdomäne haben, lernen Sie, wie Sie Ihre Mandantendetails auslesen.
continuation_token Ja Fortsetzungstoken, das Microsoft Entra in der vorherigen Anforderung zurückgegeben hat.
client_id Ja Die Anwendungs-ID (Client-ID) der Anwendung, die Sie im Microsoft Entra Admin Center registriert haben.
new_password Ja Das neue Kennwort des Benutzers. Ersetzen Sie {new_password} mit dem neuen Kennwort des Benutzers. Es liegt in Ihrer Verantwortung, zu bestätigen, dass der Benutzer das Kennwort kennt, das er verwenden möchte, indem er das Kennwort im Bestätigungsfeld in der Benutzeroberfläche der App bereitstellt. Sie müssen auch sicherstellen, dass der Benutzer weiß, was ein sicheres Kennwort gemäß Richtlinie Ihrer Organisation darstellt. Erfahren Sie mehr über die Kennwortrichtlinien von Microsoft Entra.

Antwort bei Erfolg

Beispiel:

HTTP/1.1 200 OK
Content-Type: application/json
{
    "continuation_token": "uY29tL2F1dGhlbnRpY...",
    "poll_interval": 2
}
Parameter Beschreibung
continuation_token Fortsetzungstoken, das von Microsoft Entra zurückgegeben wird.
poll_interval Die Mindestzeit in Sekunden, welche die App zwischen Abrufanforderungen warten sollte, um den Status der Kennwortzurücksetzungsanforderung über den /poll_completion-Endpunkt zu überprüfen, siehe Schritt 5

Fehlerantwort

Beispiel:

HTTP/1.1 400 Bad Request
Content-Type: application/json
{ 
    "error": "invalid_request", 
    "error_description": "AADSTS901007: The challenge_type list parameter does not include the 'redirect' type.\r\nTrace ID: 0000aaaa-11bb-cccc-dd22-eeeeee333333\r\nCorrelation ID: aaaa0000-bb11-2222-33cc-444444dddddd\r\nTimestamp: yyyy-...",
    "error_codes": [ 
        901007 
    ], 
    "timestamp": "yyyy-mm-dd 10:15:00Z",
    "trace_id": "0000aaaa-11bb-cccc-dd22-eeeeee333333", 
    "correlation_id": "aaaa0000-bb11-2222-33cc-444444dddddd"
} 
Parameter Beschreibung
error Eine Fehlercodezeichenfolge, die zum Klassifizieren der Fehlertypen und für die Reaktion auf Fehler verwendet werden kann.
error_description Eine spezifische Fehlermeldung, die Ihnen bei der Identifizierung der Hauptursache eines Authentifizierungsfehlers helfen kann.
error_codes Eine Liste der Microsoft Entra-spezifischen Fehlercodes, die Ihnen bei der Diagnose von Fehlern helfen können.
timestamp Die Uhrzeit, zu der der Fehler aufgetreten ist
trace_id Ein eindeutiger Bezeichner für die Anforderung, die Ihnen bei der Diagnose von Fehlern helfen kann.
correlation_id Ein eindeutiger Bezeichner für die Anforderung, die bei der komponentenübergreifenden Diagnose helfen kann
suberror Eine Fehlercodezeichenfolge, die zum weiteren Klassifizieren von Fehlertypen verwendet werden kann.

Hier sind die möglichen Fehler, auf die Sie stoßen können (mögliche Werte des error-Parameters):

Fehlerwert Beschreibung
invalid_request Die Validierung des Anforderungsparameters ist fehlgeschlagen, z. B. ist eine Validierung des Fortsetzungstokens fehlgeschlagen.
expired_token Das Fortsetzungstoken ist abgelaufen.
invalid_grant Die übermittelte Zuweisung ist ungültig, z. B. das übermittelte Kennwort ist zu kurz. Verwenden Sie den suberror-Parameter, um die genaue Ursache des Fehlers zu erfahren.

Wenn der Fehlerparameter einen Wert von invalid_grant hat, schließt Microsoft Entra einen suberror-Parameter in seiner Antwort ein. Hier sind die möglichen Werte des suberror-Parameters:

Unterfehlerwert Beschreibung
password_too_weak Das Kennwort ist zu schwach, da es die Komplexitätsanforderungen nicht erfüllt. Erfahren Sie mehr über die Kennwortrichtlinien von Microsoft Entra.
password_too_short Das neue Kennwort enthält weniger als 8 Zeichen. Erfahren Sie mehr über die Kennwortrichtlinien von Microsoft Entra.
password_too_long Das neue Kennwort ist länger als 256 Zeichen. Erfahren Sie mehr über die Kennwortrichtlinien von Microsoft Entra.
password_recently_used Das neue Kennwort darf nicht mit einem zuletzt verwendeten übereinstimmen. Erfahren Sie mehr über die Kennwortrichtlinien von Microsoft Entra.
password_banned Das neue Kennwort enthält ein Wort, einen Ausdruck oder ein Muster, das gesperrt ist. Erfahren Sie mehr über die Kennwortrichtlinien von Microsoft Entra.
password_is_invalid Das Kennwort ist ungültig, z. B. weil es unzulässige Zeichen verwendet. Erfahren Sie mehr über die Kennwortrichtlinien von Microsoft Entra. Diese Antwort ist möglich, wenn die App ein Benutzerkennwort sendet.

Schritt 5: Abrufen des Status der Kennwortzurücksetzung

Da die Aktualisierung der Konfiguration des Benutzers mit dem neuen Kennwort eine gewisse Verzögerung mit sich bringt, kann die App den /poll_completion-Endpunkt verwenden, um Microsoft Entra für den Status der Kennwortzurücksetzung abzufragen. Die Mindestzeit in Sekunden, welche die App zwischen Abrufanforderungen warten sollte, wird vom /submit-Endpunkt im poll_interval-Parameter zurückgegeben.

Hier ist ein Beispiel (zur besseren Lesbarkeit wird die Beispielanforderung in mehreren Zeilen dargestellt):

POST https://{tenant_subdomain}.ciamlogin.com/{tenant_subdomain}.onmicrosoft.com/resetpassword/v1.0/poll_completion
Content-Type: application/x-www-form-urlencoded

client_id=00001111-aaaa-2222-bbbb-3333cccc4444
&continuation_token=czZCaGRSa3F0... 
Parameter Erforderlich Beschreibung
tenant_subdomain Ja Die Unterdomäne des von Ihnen erstellten externen Mandanten. Ersetzen Sie in der URL {tenant_subdomain} durch die Unterdomäne des Verzeichnisses (Mandant). Wenn beispielsweise die primäre Domäne Ihres Mandanten contoso.onmicrosoft.com ist, verwenden Sie contoso. Wenn Sie keine Mandantenunterdomäne haben, lernen Sie, wie Sie Ihre Mandantendetails auslesen.
continuation_token Ja Fortsetzungstoken, das Microsoft Entra in der vorherigen Anforderung zurückgegeben hat.
client_id Ja Die Anwendungs-ID (Client-ID) der Anwendung, die Sie im Microsoft Entra Admin Center registriert haben.

Antwort bei Erfolg

Beispiel:

HTTP/1.1 200 OK
Content-Type: application/json
{
    "status": "succeeded",
    "continuation_token":"czZCaGRSa3F0..."
} 
Parameter Beschreibung
status Der Status der Anforderung „Kennwort zurücksetzen“. Wenn Microsoft Entra einen Status fehlgeschlagen zurückgibt, kann die App das neue Kennwort erneut übermitteln, indem sie eine weitere Anforderung an den /submit-Endpunkt sendet und das neue Fortsetzungstoken einschließt.
continuation_token Fortsetzungstoken, das von Microsoft Entra zurückgegeben wird. Wenn der Status erfolgreich ist, kann die App das Fortsetzungstoken verwenden, das Microsoft Entra zurückgibt, um Sicherheitstoken über den /token-Endpunkt anzufordern, wie in Schritt 5 des Registrierungsflows erläutert. Dies bedeutet, dass Sie, nachdem ein Benutzer sein Kennwort erfolgreich zurückgesetzt hat, ihn direkt bei Ihrer App anmelden können, ohne einen neuen Anmeldeflow zu initiieren.

Hier sind die möglichen Status, die Microsoft Entra zurückgibt (mögliche Werte des status-Parameters):

Fehlerwert Beschreibung
succeeded Die Kennwortzurücksetzung wurde erfolgreich abgeschlossen.
failed Die Kennwortzurücksetzung ist fehlgeschlagen. Die App kann das neue Kennwort erneut übermitteln, indem sie eine weitere Anforderung an den /submit-Endpunkt sendet.
not_started Die Kennwortzurücksetzung wurde nicht gestartet. Die App kann den Status später erneut überprüfen.
in_progress Die Kennwortzurücksetzung ist in Arbeit. Die App kann den Status später erneut überprüfen.

Fehlerantwort

Beispiel:

HTTP/1.1 400 Bad Request
Content-Type: application/json
{ 
    "error": "expired_token", 
    "error_description": "AADSTS901007: The continuation_token is expired.\r\nTrace ID: 0000aaaa-11bb-cccc-dd22-eeeeee333333\r\nCorrelation ID: aaaa0000-bb11-2222-33cc-444444dddddd\r\nTimestamp: yyyy-...",
    "error_codes": [ 
        552003 
    ], 
    "timestamp": "yyyy-mm-dd 10:15:00Z",
    "trace_id": "0000aaaa-11bb-cccc-dd22-eeeeee333333", 
    "correlation_id": "aaaa0000-bb11-2222-33cc-444444dddddd"
} 
Parameter Beschreibung
error Eine Fehlercodezeichenfolge, die zum Klassifizieren der Fehlertypen und für die Reaktion auf Fehler verwendet werden kann.
error_description Eine spezifische Fehlermeldung, die Ihnen bei der Identifizierung der Hauptursache eines Authentifizierungsfehlers helfen kann.
error_codes Eine Liste der Microsoft Entra-spezifischen Fehlercodes, die Ihnen bei der Diagnose von Fehlern helfen können.
timestamp Die Uhrzeit, zu der der Fehler aufgetreten ist
trace_id Ein eindeutiger Bezeichner für die Anforderung, die Ihnen bei der Diagnose von Fehlern helfen kann.
correlation_id Ein eindeutiger Bezeichner für die Anforderung, die bei der komponentenübergreifenden Diagnose helfen kann

Hier sind die möglichen Fehler, auf die Sie stoßen können (mögliche Werte des error-Parameters):

Fehlerwert Beschreibung
invalid_request Die Validierung des Anforderungsparameters ist fehlgeschlagen, z. B. ist die Validierung des Fortsetzungstokens fehlgeschlagen.
expired_token Das Fortsetzungstoken ist abgelaufen.