Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:
Externe Mandanten (weitere Informationen)
Microsoft Entra native Authentifizierung ermöglicht es Ihnen, die Benutzeroberfläche Ihrer App in der Clientanwendung zu hosten, anstatt die Authentifizierung an Browser zu delegieren, was zu einer systemeigenen integrierten Authentifizierung führt. 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. Erfahren Sie mehr über systemeigene Authentifizierungs-SDKs. 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 systemeigene Authentifizierungs-API von Microsoft Entra unterstützt die Registrierung und Anmeldung für zwei Authentifizierungsflüsse:
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.
- Nutzer, die sich mit E-Mail-Adresse und Passwort anmelden, melden sich auch mit Benutzernamen und Passwort an.
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
Ein Microsoft Entra externer Mandant. Erstellen Sie einen externen Mandanten wenn Sie noch keinen haben.
Falls noch nicht geschehen, Registern Sie eine Anwendung im Microsoft Entra Admin Center. Stellen Sie sicher, dass:
- Notieren Sie die Anwendungs-ID (Client-ID) und die Verzeichnis-ID (Mandant) für die spätere Verwendung.
- Erteilen sie der Administratorzustimmung für die Anwendung.
- Aktivieren Sie öffentliche Client- und systemeigene Authentifizierungsflüsse.
Wenn dies noch nicht geschehen ist, Create a user flow in the Microsoft Entra Admin Center. Beachten Sie beim Erstellen des Benutzerablaufs die Benutzerattribute, die Sie als erforderlich konfigurieren, da diese Attribute diejenigen sind, die Microsoft Entra erwarten, dass Ihre App übermittelt wird.
Für den Anmeldefluss registrieren Sie einen Kundennutzer, den Sie zum Testen des Ablaufs verwenden. Alternativ können Sie diesen Testbenutzer erhalten, nachdem Sie den Registrierungsflow ausgeführt haben.
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.
Wenn Sie Nutzern, die sich mit E-Mail-Adresse und Passwort anmelden, auch mit Benutzernamen und Passwort einloggen möchten, verwenden Sie die Schritte im Artikel " Mit Alias oder Benutzername anmelden ":
- Aktivieren Sie die Anmeldung mit dem Benutzernamen.
- Erstellen Sie Benutzer mit Benutzername im Admin Center , oder aktualisieren Sie vorhandene Benutzer, indem Sie einen Benutzernamen hinzufügen. Alternativ können Sie die Benutzererstellung und -aktualisierung in Ihrer App auch automatisieren, indem Sie microsoft Graph API verwenden.
Verwenden Sie zum Erzwingen der mehrstufigen Authentifizierung (MFA) für Ihre Kunden die Schritte unter Hinzufügen der mehrstufigen Authentifizierung (Multifactor Authentication, MFA) zu einer App , um Ihrem Anmeldeablauf MFA hinzuzufügen. Native Authentifizierung unterstützt einmalige E-Mail-Kennung und SMS als zweiten Faktor für MFA.
Fortsetzungstoken
Immer wenn Sie einen Anmelde-, Registrierungs- oder SSPR-Endpunkt aufrufen, enthält die Antwort ein Fortsetzungstoken. Dieses Token identifiziert den aktuellen Fluss eindeutig und ermöglicht es Microsoft Entra ID, den Zustand über seine Endpunkte hinweg aufrechtzuerhalten. Schließen Sie das Token in jede nachfolgende Anforderung in diesen Fluss ein. Sie ist nur für einen begrenzten Zeitraum gültig und kann nur für die nachfolgenden Anforderungen innerhalb desselben Flusses verwendet werden.
API-Referenz für die Anmeldung
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.
API-Endpunkte für die Anmeldung
| 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 anzugeben, dass die Anwendung einen Webauthentifizierungsfluss verwendet, 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 challenge-Typen 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 anzugeben, dass die Anwendung einen webbasierten Authentifizierungsfluss verwendet, wenn die Anwendung keine von Microsoft Entra ausgewählte Authentifizierungsmethode verwendet. |
oauth/v2.0/token |
Die Anwendung ruft diesen Endpunkt auf, um schließlich Sicherheitstoken anzufordern. Die App muss das Fortsetzungstoken verwenden, das sie vom letzten erfolgreichen Aufruf des /signup/v1.0/continue Endpunkts abruft. |
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. 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 Abfragetypwerte erläutert, die Sie für eine Authentifizierungsmethode verwenden sollten.
Details des Registrierungsflowprotokolls
Das Sequenzdiagramm veranschaulicht den Flow des Registrierungsvorgangs.
Dieses Diagramm gibt an, dass die App Benutzernamen (E-Mail), Kennwort (für E-Mail mit Kennwortauthentifizierungsfluss) und 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 an den /signup/v1.0/start Endpunkt übermitteln. Wenn die App alle erforderlichen Informationen an den /signup/v1.0/start Endpunkt übermittelt, muss die App in den optionalen Schritten keine Anrufe tätigen und Antworten behandeln.
In Schritt 21 ist der Benutzer bereits registriert. Wenn die App jedoch nach der Registrierung automatisch einen Benutzer anmelden muss, ruft die App den oauth/v2.0/token Endpunkt auf, um Sicherheitstoken anzufordern.
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 (wir stellen die Beispielanforderung in mehreren Zeilen zur Lesbarkeit dar):
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) der App, 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 |
Nein | 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 Microsoft Entra. Dieser Parameter gilt nur für eine Authentifizierungsmethode mit E-Mail und Kennwort. |
attributes |
Nein | 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 attribute, die Sie übermitteln, die nicht vorhanden sind. |
capabilities |
Nein | Durch Leerzeichen getrennte Flags, die die Funktionen der Client-App beschreiben. Definiert zwar challenge_type , welche Methoden herausfordern können, teilen Sie der systemeigenen Authentifizierungs-API mit, capabilities welche zusätzlichen Abläufe die Client-App verarbeiten kann und welche UIs dem Benutzer angezeigt werden können. Bedeutet z. B. eine andere mfa_required und /challenge eine Schleife; /token bedeutet, registration_required dass die Client-App Registrierungs-APIs aufruft und die Registrierungs-UI anzeigt. Wenn eine erforderliche Funktion nicht von der Client-App angekündigt wird, gibt die API die Umleitung zurück. Unterstützte Werte sind mfa_required und registration_required.
Weitere Informationen zu Funktionen. |
Antwort bei Erfolg
Hier ist ein Beispiel für eine erfolgreiche Antwort:
HTTP/1.1 200 OK
Content-Type: application/json
{
"continuation_token": "AQABAAEAAA…",
}
| Eigentum | Beschreibung |
|---|---|
continuation_token |
Continuation-Token, das Microsoft Entra zurückgibt. |
Umleitungsantwort
Wenn die Client-App die Authentifizierungsmethode oder -funktionen, die Microsoft Entra erfordert, nicht unterstützt, ist ein Fallback auf den webbasierten Authentifizierungsfluss erforderlich. In diesem Szenario informiert Microsoft Entra die App durch Zurückgeben eines redirect Abfragetyps in der Antwort:
HTTP/1.1 200 OK
Content-Type: application/json
{
"challenge_type": "redirect"
}
| Eigentum | Beschreibung |
|---|---|
challenge_type |
Microsoft Entra gibt eine Antwort zurück, die einen Abfragetyp aufweist. 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"
}
| Eigentum | 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 der suberror Eigenschaft ist attribute_validation_failed. |
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 der error Eigenschaft):
| 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 die suberror Eigenschaft, um die genaue Ursache des Fehlers zu ermitteln. |
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 die suberror Eigenschaft, um die genaue Ursache des Fehlers zu ermitteln. Dieser Parameter gilt nur für eine Authentifizierungsmethode mit E-Mail und Kennwort. |
Wenn der Fehlerparameter den Wert invalid_grant aufweist, enthält Microsoft Entra eine suberror-Eigenschaft in der Antwort. Hier sind die möglichen Werte der suberror Eigenschaft 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 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 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 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 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 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 Microsoft Entra. Diese Antwort ist möglich, wenn die App ein Benutzerkennwort sendet. |
Wenn der Fehlerparameter den Wert invalid_client aufweist, enthält Microsoft Entra eine suberror-Eigenschaft in der Antwort. Hier sind die möglichen Werte der suberror Eigenschaft 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 nicht explizit optionale Attribute an, da sie für den Registrierungsablauf 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 an, einen der unterstützten Abfragetypen auszuwählen, mit denen der Benutzer sich 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) der App, die Sie im Microsoft Entra Admin Center registriert haben. |
challenge_type |
Nein | 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 | Continuation-Token, das in der vorherigen Anforderung zurückgegeben Microsoft Entra. |
Antwort bei Erfolg
Microsoft Entra eine einmalkennung an die E-Mail des Benutzers sendet, antwortet dann mit dem Abfragetyp mit dem Wert oob und weiteren Informationen zur einmaligen Kennung:
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
}
| Eigentum | Beschreibung |
|---|---|
interval |
Die Zeitdauer in Sekunden, welche die App warten muss, bevor versucht wird, das OTP erneut zu senden. |
continuation_token |
Continuation-Token, das Microsoft Entra zurückgibt. |
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_typeoob 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 der einmalkennung, die Microsoft Entra generiert. |
Umleitungsantwort
Wenn die Client-App die Authentifizierungsmethode oder -funktionen, die Microsoft Entra erfordert, nicht unterstützt, ist ein Fallback auf den webbasierten Authentifizierungsfluss erforderlich. In diesem Szenario informiert Microsoft Entra die App durch Zurückgeben eines redirect Abfragetyps in der Antwort:
HTTP/1.1 200 OK
Content-Type: application/json
{
"challenge_type": "redirect"
}
| Eigentum | Beschreibung |
|---|---|
challenge_type |
Microsoft Entra gibt eine Antwort zurück, die einen Abfragetyp aufweist. 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"
}
| Eigentum | 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 der error Eigenschaft):
| 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 | Continuation-Token, das in der vorherigen Anforderung zurückgegeben Microsoft Entra. |
client_id |
Ja | Die Anwendungs-ID (Client) der App, 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 sendet erfolgreich das Kennwort des Benutzers (für E-Mail mit Kennwortauthentifizierungsmethode) über den Endpunkt /signup/v1.0/start, und es werden keine Attribute im Microsoft Entra Admin Center konfiguriert, oder alle erforderlichen Benutzerattribute werden über den endpunkt /signup/v1.0/start übermittelt. |
Microsoft Entra gibt ein Fortsetzungstoken aus. Die App kann das Fortsetzungstoken verwenden, um Sicherheitstoken anzufordern, wie in "Anforderung für Sicherheitstoken" gezeigt. |
Die App sendet erfolgreich das Kennwort(für E-Mail mit Kennwortauthentifizierungsmethode) über die /signup/v1.0/start, aber nicht alle erforderlichen Benutzerattribute, Microsoft Entra gibt die Attribute an, die die App übermitteln muss, wie in benutzerattributen erforderlich dargestellt. |
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. |
Microsoft Entra Antwort gibt an, 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..."
}
| Eigentum | 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 |
Continuation-Token, das Microsoft Entra zurückgibt. |
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 der error Eigenschaft):
| 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 den Wert invalid_grant aufweist, enthält Microsoft Entra eine suberror-Eigenschaft in der Antwort. Hier sind die möglichen Werte der suberror Eigenschaft 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) der App, die Sie im Microsoft Entra Admin Center registriert haben. |
challenge_type |
Nein | 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 | Continuation-Token, das in der vorherigen Anforderung zurückgegeben Microsoft Entra. |
Antwort bei Erfolg
Wenn das 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..."
}
| Eigentum | Beschreibung |
|---|---|
challenge_type |
Kennwort wird in der Antwort für die erforderlichen Anmeldeinformationen zurückgegeben. |
continuation_token |
Continuation-Token, das Microsoft Entra zurückgibt. |
Umleitungsantwort
Wenn die Client-App die Authentifizierungsmethode oder -funktionen, die Microsoft Entra erfordert, nicht unterstützt, ist ein Fallback auf den webbasierten Authentifizierungsfluss erforderlich. In diesem Szenario informiert Microsoft Entra die App durch Zurückgeben eines redirect Abfragetyps in der Antwort:
HTTP/1.1 200 OK
Content-Type: application/json
{
"challenge_type": "redirect"
}
| Eigentum | Beschreibung |
|---|---|
challenge_type |
Microsoft Entra gibt eine Antwort zurück, die einen Abfragetyp aufweist. 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
In diesem Fall muss die App die Anmeldeinformationen des Benutzers übermitteln, die im vorherigen Schritt angefordert Microsoft Entra. 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 | Continuation-Token die im vorherigen Schritt zurückgegeben Microsoft Entra. |
client_id |
Ja | Die Anwendungs-ID (Client) der App, 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 Microsoft Entra. |
Antwort bei Erfolg
Wenn die Anforderung erfolgreich ist, aber keine Attribute im Microsoft Entra Admin Center konfiguriert wurden oder alle erforderlichen Attribute über den endpunkt /signup/v1.0/start übermittelt wurden, erhält die App ein Fortsetzungstoken, ohne Attribute zu übermitteln. Die App kann das Fortsetzungstoken verwenden, um Sicherheitstoken anzufordern, wie in "Anforderung für Sicherheitstoken" gezeigt. Andernfalls gibt Microsoft Entra Antwort 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 an, Werte für Namen-, Alters- und Telefonattribute 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-App2588a-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.
| Eigentum | 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 |
Continuation-Token, das Microsoft Entra zurückgibt. |
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 diesen Parameter enthält, ist die Antwort, wenn der Wert error Parameter attributes_required ist. |
Hier sind die möglichen Fehler, auf die Sie stoßen können (mögliche Werte der error Eigenschaft):
| 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. |
Umleitungsantwort
Wenn die Client-App die Authentifizierungsmethode oder -funktionen, die Microsoft Entra erfordert, nicht unterstützt, ist ein Fallback auf den webbasierten Authentifizierungsfluss erforderlich. In diesem Szenario informiert Microsoft Entra die App durch Zurückgeben eines redirect Abfragetyps in der Antwort:
HTTP/1.1 200 OK
Content-Type: application/json
{
"challenge_type": "redirect"
}
| Eigentum | Beschreibung |
|---|---|
challenge_type |
Microsoft Entra gibt eine Antwort zurück, die einen Abfragetyp aufweist. 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"
}
| Eigentum | 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 der error Eigenschaft):
| 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 die suberror Eigenschaft, um die genaue Ursache des Fehlers zu ermitteln. |
expired_token |
Das Fortsetzungstoken ist abgelaufen. |
attributes_required |
Mindestens ein Benutzerattribut ist erforderlich. |
Wenn der Fehlerparameter den Wert invalid_grant aufweist, enthält Microsoft Entra eine suberror-Eigenschaft in der Antwort. Hier sind die möglichen Werte der suberror Eigenschaft:
| Unterfehlerwert | Beschreibung |
|---|---|
password_too_weak |
Das Kennwort ist zu schwach, da es die Komplexitätsanforderungen nicht erfüllt. Erfahren Sie mehr über die Kennwortrichtlinien Microsoft Entra. |
password_too_short |
Das neue Kennwort enthält weniger als 8 Zeichen. Erfahren Sie mehr über die Kennwortrichtlinien Microsoft Entra. |
password_too_long |
Das neue Kennwort ist länger als 256 Zeichen. Erfahren Sie mehr über die Kennwortrichtlinien Microsoft Entra. |
password_recently_used |
Das neue Kennwort darf nicht mit einem zuletzt verwendeten übereinstimmen. Erfahren Sie mehr über die Kennwortrichtlinien 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 Microsoft Entra. |
password_is_invalid |
Das Kennwort ist ungültig, z. B. weil es unzulässige Zeichen verwendet. Erfahren Sie mehr über die Kennwortrichtlinien 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}", "postalCode": "{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 | Continuation-Token, das in der vorherigen Anforderung zurückgegeben Microsoft Entra. |
client_id |
Ja | Die Anwendungs-ID (Client) der App, 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 attribute, die Sie übermitteln, die nicht vorhanden sind. |
Antwort bei Erfolg
Wenn die Anforderung erfolgreich ist, meldet Microsoft Entra den Benutzer an, und gibt dann ein Fortsetzungstoken aus. Die App kann das Fortsetzungstoken verwenden, um Sicherheitstoken vom oauth/v2.0/token Endpunkt anzufordern.
HTTP/1.1 200 OK
Content-Type: application/json
{
"continuation_token": "AQABAAEAAAYn..."
}
| Eigentum | Beschreibung |
|---|---|
continuation_token |
Continuation-Token, das Microsoft Entra zurückgibt. |
Umleitungsantwort
Wenn die Client-App die Authentifizierungsmethode oder -funktionen, die Microsoft Entra erfordert, nicht unterstützt, ist ein Fallback auf den webbasierten Authentifizierungsfluss erforderlich. In diesem Szenario informiert Microsoft Entra die App durch Zurückgeben eines redirect Abfragetyps in der Antwort:
HTTP/1.1 200 OK
Content-Type: application/json
{
"challenge_type": "redirect"
}
| Eigentum | Beschreibung |
|---|---|
challenge_type |
Microsoft Entra gibt eine Antwort zurück, die einen Abfragetyp aufweist. 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"
}
| Eigentum | 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 |
Continuation-Token, das Microsoft Entra zurückgibt. |
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 diesen Parameter in die 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 der suberror Eigenschaft 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 der error Eigenschaft):
| 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 die suberror Eigenschaft, um die genaue Ursache des Fehlers zu ermitteln. |
expired_token |
Das in der Anforderung enthaltene Fortsetzungstoken ist abgelaufen. |
attributes_required |
Mindestens ein Benutzerattribut ist erforderlich. |
Wenn der Fehlerparameter den Wert invalid_grant aufweist, enthält Microsoft Entra eine suberror-Eigenschaft in der Antwort. Hier sind die möglichen Werte der suberror Eigenschaft 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: Automatische Anmeldung nach der Registrierung
Wenn sich der Benutzer nach der Registrierung automatisch anmelden muss, sendet die App eine POST-Anforderung an den oauth/v2.0/token Endpunkt und stellt das Fortsetzungstoken bereit, das aus dem vorherigen Schritt abgerufen wurde, um Sicherheitstoken zu erwerben. Erfahren Sie , wie Sie den Tokenendpunkt aufrufen.
Übermitteln von Benutzerattributen an Endpunkte
Im Microsoft Entra Admin Center können Sie Benutzerattribute nach Bedarf oder optional konfigurieren. Diese Konfiguration bestimmt, wie Microsoft Entra reagiert, wenn Sie einen Anruf an die Endpunkte tätigen. 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 | Nein | Ja |
Format von Benutzerattributwerten
Sie geben die Informationen an, die Sie vom Benutzer sammeln möchten, indem Sie die Benutzerflusseinstellungen 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. In der folgenden Tabelle werden die unterstützten Benutzereingabetypen und das Übermitteln von Werten, die von den UI-Steuerelementen gesammelt werden, an Microsoft Entra zusammengefasst.
| Benutzereingabetyp | Format der übermittelten Werte |
|---|---|
| Textfeld | 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 ihrer Referenz in der systemeigenen Authentifizierungs-API.
Beispielsweise wird im Microsoft Entra Admin Center auf DisplayName in der API als displayName verwiesen.
Verwenden Sie den Artikel Benutzerprofilattribute, um zu erfahren, wie Sie sowohl integrierte als auch benutzerdefinierte Benutzerattribute in der nativen Authentifizierungs-API referenzieren.
API-Referenz für den Anmeldefluss
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 App mit drei Endpunkten, oauth/v2.0/initiate, , oauth/v2.0/challenge, oauth/v2.0/tokenund optional oauth/v2.0/introspect.
API-Endpunkte für die Anmeldung
| Endpunkt | Beschreibung |
|---|---|
oauth/v2.0/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 für Ihre App angeben, dass sie einen browserbasierten Authentifizierungsfluss verwenden muss. |
oauth/v2.0/challenge |
Ihre App ruft diesen Endpunkt auf, um Microsoft Entra anzufordern, einen der unterstützten Sign-In-Abfragetypen auszuwählen für den Benutzer, mit dem sich authentifiziert werden soll. Wenn der Mandantenadministrator MFA für Kundenbenutzer erzwingt, ruft Ihre App diesen Endpunkt auf, um den Benutzer für die zweite Faktorauthentifizierungsmethode herauszufordern. |
oauth/v2.0/token |
Dieser Endpunkt überprüft die Anmeldeinformationen des Benutzers, die er von Ihrer App empfängt, und gibt dann Sicherheitstoken für Ihre App aus. Eine Antwort dieses Endpunkts kann auch angeben, ob der Benutzer eine MFA-Abfrage abschließen oder eine starke Authentifizierungsmethode registrieren muss. |
oauth/v2.0/introspect |
Ihre App ruft sie auf, um eine Liste der registrierten starken Authentifizierungsmethoden für die mehrstufige Authentifizierung (MFA) anzufordern. Erfahren Sie, wie Sie den Introspect-Endpunkt verwenden. |
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.
Bei einer bestimmten Authentifizierungsmethode sind die Abfragetypwerte, die eine App während des Registrierungsablaufs 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. Der Anmeldefluss hängt von der Authentifizierungsmethode des Benutzers ab.
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 eine weitere Einmalkennung erneut senden, wenn die vorherige nicht überprüft wurde. Wenn Microsoft Entra eine Einmalkennung erneut senden, wird der zuvor gesendete Code ungültig.
In den folgenden Abschnitten fassen wir den Anmeldefluss 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
&capabilities=registration_required mfa_required
| 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) der App, 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. |
capabilities |
Nein | Durch Leerzeichen getrennte Flags, die die Bereitschaft der Client-App "how" beschreiben. Definiert zwar challenge_type , welche Methoden herausfordern können, teilen Sie der systemeigenen Authentifizierungs-API mit, capabilities welche zusätzlichen Flüsse die Client-App verarbeiten kann und welche UIs angezeigt werden können. Bedeutet mfa_requiredz. B. , , /introspectund /challenge schleifen; /token bedeutet, registration_required dass die Client-App Registrierungs-APIs aufruft und die Registrierungs-UI anzeigen. Wenn die erforderliche Funktion nicht von der Client-App enthalten ist, gibt die API die Umleitung zurück. Unterstützte Werte sind mfa_required und registration_required.
Weitere Informationen zu Funktionen. |
Antwort bei Erfolg
Hier ist ein Beispiel für eine erfolgreiche Antwort:
HTTP/1.1 200 OK
Content-Type: application/json
{
"continuation_token": "uY29tL2F1dGhlbnRpY..."
}
| Eigentum | Beschreibung |
|---|---|
continuation_token |
Continuation-Token, das Microsoft Entra zurückgibt. |
Umleitungsantwort
Wenn die Client-App die Authentifizierungsmethode oder -funktionen, die Microsoft Entra erfordert, nicht unterstützt, ist ein Fallback auf den webbasierten Authentifizierungsfluss erforderlich. In diesem Szenario informiert Microsoft Entra die App durch Zurückgeben eines redirect Abfragetyps in der Antwort:
HTTP/1.1 200 OK
Content-Type: application/json
{
"challenge_type": "redirect"
}
| Eigentum | Beschreibung |
|---|---|
challenge_type |
Microsoft Entra gibt eine Antwort zurück, die einen Abfragetyp aufweist. 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"
}
| Eigentum | 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 der error Eigenschaft):
| 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 die suberror Eigenschaft, um die genaue Ursache des Fehlers zu ermitteln. |
user_not_found |
Der Benutzername ist nicht vorhanden. |
unsupported_challenge_type |
Der challenge_type-Parameterwert enthält nicht den redirect-Aufforderungstyp. |
Wenn der Fehlerparameter den Wert invalid_client aufweist, enthält Microsoft Entra eine suberror-Eigenschaft in der Antwort. Hier sind die möglichen Werte der suberror Eigenschaft 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 Ablauf fortzusetzen, verwendet die App das Fortsetzungstoken, das sie aus dem vorherigen Schritt erhält, um Microsoft Entra anzufordern, einen der unterstützten Abfragetypen auszuwählen, die der Benutzer authentifiziert oder eine MFA-Abfrage abgeschlossen hat. Die App sendet eine POST-Anforderung an den /oauth2/v2.0/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) der App, die Sie im Microsoft Entra Admin Center registriert haben. |
continuation_token |
Ja |
Continuation-Token, das in der vorherigen Anforderung zurückgegeben Microsoft Entra. Die vorherige Anforderung ruft den /oauth2/v2.0/initiate Endpunkt oder den /oauth2/v2.0/introspect Endpunkt auf, wenn der Benutzer eine MFA-Abfrage abgeschlossen hat. |
challenge_type |
Nein | 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. |
id |
Nein | Der Zeichenfolgenbezeichner der starken Authentifizierungsmethode, die /oauth2/v2.0/introspect vom Endpunkt zurückgegeben wird. Dieser Parameter ist erforderlich, wenn die Client-App den Benutzer für eine zweite Faktorauthentifizierung fordert. Erfahren Sie , wie Sie den Introspect-Endpunkt verwenden. |
Antwort bei Erfolg
Die Erfolgsantwort hängt von der Authentifizierungsmethode des Benutzers ab.
Wenn der Mandantenadministrator die einmalige E-Mail-Kennung im Microsoft Entra Admin Center als Authentifizierungsmethode des Benutzers konfiguriert hat, sendet Microsoft Entra eine einmalkennung an die E-Mail des Benutzers, reagiert dann mit einem Abfragetyp von oob und stellt weitere Informationen zur einmaligen Kennung 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
}
| Eigentum | Beschreibung |
|---|---|
continuation_token |
Continuation-Token, das Microsoft Entra zurückgibt. |
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_typeoob 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 der einmalkennung, die Microsoft Entra generiert. |
Umleitungsantwort
In den folgenden Szenarien kann ein Fallback auf einen webbasierten Authentifizierungsfluss erforderlich sein:
- Die Client-App unterstützt nicht die Authentifizierungsmethode oder -funktionen, die Microsoft Entra erfordert.
- Der Benutzer versucht, SMS als starke Authentifizierungsmethode zu verwenden, aber betrugsschutz blockiert die Anforderung, wenn sie als hohes Risiko erachtet (nur in E-Mails mit Kennwortauthentifizierung).
In diesen Szenarien informiert Microsoft Entra die App durch Zurückgeben eines redirect Abfragetyps in der Antwort:
HTTP/1.1 200 OK
Content-Type: application/json
{
"challenge_type": "redirect"
}
| Eigentum | Beschreibung |
|---|---|
challenge_type |
Microsoft Entra gibt eine Antwort zurück, die einen Abfragetyp aufweist. 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"
}
| Eigentum | 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 der error Eigenschaft):
| 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 oauth2/v2.0/token Endpunkt und stellt die im vorherigen Schritt ausgewählten Anmeldeinformationen des Benutzers zum Abrufen von Sicherheitstoken bereit.
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) der App, die Sie im Microsoft Entra Admin Center registriert haben. |
continuation_token |
Ja | Continuation-Token, das in der vorherigen Anforderung zurückgegeben Microsoft Entra. |
grant_type |
Ja | Der Grant-Typ. Wenn Sie den Tokenendpunkt aufrufen, muss dieser Wert wie folgt lauten: - Kennwort für E-Mail mit Kennwortauthentifizierungsmethode in einem Anmeldefluss, um die erste Faktorauthentifizierung des Benutzers zu überprüfen. - oob für die einmalige Authentifizierungsmethode für E-Mail-Kennungen in einem Anmeldefluss. - continuation_token für die automatische Anmeldung nach einem Registrierungsablauf. - continuation_token für die automatische Anmeldung nach dem Self-Service-Kennwortzurücksetzungsablauf. - continuation_token nach einem starken Registrierungsfluss für Authentifizierungsmethoden. - mfa_oob beim Überprüfen der zweiten Faktorauthentifizierung des Benutzers. |
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 openid Bereich enthalten, damit Microsoft Entra ein ID-Token ausstellen kann. Die App muss offline_access Bereich enthalten, damit Microsoft Entra ein Aktualisierungstoken ausstellen kann. Erfahren Sie mehr über Berechtigungen und Einwilligung in der Microsoft-Identitätsplattform. |
password |
Nein | Der Kennwortwert, den die App vom Benutzer sammelt. Ersetzen Sie den {secure_password} Kennwortwert, den die App vom Benutzer sammelt. Dieser Parameter ist erforderlich , wenn es sich bei der Authentifizierungsmethode um E-Mail mit Kennwort handelt. |
oob |
Nein | Die einmalige Kennung, die der Benutzer per E-Mail erhält. Erforderlich, wenn: - Die primäre Authentifizierungsmethode ist die einmalige E-Mail-Kennung. – Die App übermittelt die E-Mail-Einmalkennung, um eine MFA-Herausforderung zu erfüllen, wenn die primäre Authentifizierungsmethode E-Mail mit Kennwort ist. Rufen Sie den /challenge Endpunkt erneut auf, um eine Einmalkennung erneut zu senden. |
username |
Nein | E-Mail des Benutzers, bei dem er sich registrieren möchte, z contoso-consumer@contoso.com. B. . Dieser Parameter ist in einem Registrierungsablauf erforderlich . |
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..."
}
| Eigentum | Beschreibung |
|---|---|
token_type |
Gibt den Wert des Tokentyps an. Der einzige Microsoft Entra unterstützte Typ 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 unter Aktualisieren des Zugriffstokens. Hinweis: Wird nur ausgegeben, wenn Sie den Bereich offline_access anfordern. |
id_token |
Ein JSON-Webtoken (Jwt), das zum Identifizieren des Benutzers 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 in der Microsoft Identity Platform. 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"
}
| Eigentum | Beschreibung |
|---|---|
error |
Eine Fehlercodezeichenfolge, die verwendet werden kann, um Fehlertypen zu klassifizieren und auf Fehler zu reagieren. |
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 der error Eigenschaft):
| 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 ungültig, Anmeldeinformationen für die Benutzeranmeldung, die in der Anforderung enthalten sind, sind ungültig, weitere Interaktionen, die vom Benutzer erforderlich sind, oder der in der Anforderung enthaltene Grant-Typ 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 einer der bereiche, die in der Anforderung enthalten sind, 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. |
Wenn der Fehlerparameter den Wert invalid_grant aufweist, enthält Microsoft Entra eine suberror-Eigenschaft in der Antwort. Hier sind die möglichen Werte der suberror Eigenschaft für einen invalid_grant Fehler:
| Unterfehlerwert | Beschreibung |
|---|---|
invalid_oob_value |
Der Wert der einmaligen Kennung, die von der App übermittelt wird, ist ungültig. |
mfa_required |
MFA ist erforderlich. Die Antwort enthält ein Fortsetzungstoken. Rufen Sie den oauth2/v2.0/introspect Endpunkt auf, um die registrierten starken Authentifizierungsmethoden des Benutzers abzurufen. Dieser Unterfehler tritt nur auf, wenn die primäre Authentifizierungsmethode des Benutzers E-Mail mit Kennwort ist. Erfahren Sie, wie Sie die registrierten starken Authentifizierungsmethoden eines Benutzers abrufen. Hinweis: In einigen Fällen ist MFA erforderlich, aber die systemeigene Authentifizierung gibt nicht zurück mfa_required. oder wenn der Registrierungsfluss einer starken Authentifizierungsmethode einem Aufruf /oauth2/v2.0/token vorausgeht und die einzige verfügbare Methode (E-Mail) während dieses Flusses bereits überprüft wurde. |
registration_required |
Der Benutzer muss eine MFA-Abfrage abschließen, hat jedoch keine registrierte starke Authentifizierungsmethode. Fordern Sie den Benutzer auf, einen zu registrieren. Dieser Fehler tritt auf, wenn die primäre Authentifizierungsmethode des Benutzers E-Mail mit Kennwort ist. Erfahren Sie, wie Sie eine sichere Authentifizierungsmethode registrieren. |
Umleitungsantwort
Wenn die Client-App die Authentifizierungsmethode oder -funktion, die Microsoft Entra erfordert, nicht unterstützt, ist ein Fallback auf den webbasierten Authentifizierungsfluss erforderlich. In diesem Szenario informiert Microsoft Entra die App durch Zurückgeben eines redirect Abfragetyps in der Antwort:
HTTP/1.1 200 OK
Content-Type: application/json
{
"challenge_type": "redirect",
"redirect_reason": "Client is missing registration_required capability"
}
| Eigentum | Beschreibung |
|---|---|
challenge_type |
Microsoft Entra gibt eine Antwort zurück, die einen Abfragetyp aufweist. Der Wert dieses Aufforderungstyps ist „Umleitung“, mit dem die App den webbasierten Authentifizierungsflow verwenden kann. |
redirect_reason |
Ein Grund, aus dem eine Umleitung erforderlich ist. Beispielsweise erkennt Microsoft Entra, dass MFA oder eine Registrierung für eine sichere Authentifizierungsmethode erforderlich ist, aber die App hat diese Funktionen nicht in die Anforderung einbezogen. |
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.
Abrufen von vom Benutzer registrierten methoden für die sichere Authentifizierung
Verwenden Sie den oauth2/v2.0/introspect Endpunkt, um die Liste der registrierten starken Authentifizierungsmethoden des Benutzers anzufordern.
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/introspect
Content-Type: application/x-www-form-urlencoded
continuation_token=uY29tL2F1dGhlbnRpY...
&client_id=00001111-aaaa-2222-bbbb-3333cccc4444
| 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) der App, die Sie im Microsoft Entra Admin Center registriert haben. |
continuation_token |
Ja | Continuation-Token, das in der vorherigen Anforderung zurückgegeben Microsoft Entra. |
Antwort bei Erfolg
Beispiel:
HTTP/1.1 200 OK
Content-Type: application/json
{
"continuation_token": "uY29tL2F1dGhlbnRpY...",
"methods":[
{
"id":"0a0a0a0a-1111-bbbb-2222-3c3c3c3c3c3c",
"challenge_type":"oob",
"challenge_channel":"email",
"login_hint":"c***r@co**o**o.com"
},
{
"id": "1b1b1b1b-2222-cccc-3333-4d4d4d4d4d4d",
"challenge_type": "oob",
"challenge_channel": "sms",
"login_hint": "+1********6"
}
]
}
| Eigentum | Beschreibung |
|---|---|
continuation_token |
Continuation-Token, das Microsoft Entra zurückgibt. |
methods |
Eine Liste (von Objekten) von vom Benutzer registrierten starken Authentifizierungsmethoden. |
Das MFA-Methodenobjekt verfügt über die folgenden Eigenschaften:
| Eigentum | Beschreibung |
|---|---|
id |
Ein automatisch generierter eindeutiger Zeichenfolgenbezeichner für die MFA-Methode. Die App verwendet diese Zeichenfolge, als id wenn sie den /oauth2/v2.0/challenge Endpunkt aufruft. |
challenge_type |
Abfragetyp ausgewählt, der für den Benutzer als MFA-Methode verwendet werden soll. Der aktuelle unterstützte Abfragetyp ist oob. |
challenge_channel |
Der Typ des Kanals, an den die MFA-Methode gesendet wird. Der aktuelle unterstützte Herausforderungskanal ist E-Mail. |
login_hint |
Der Hinweis auf die starke Authentifizierungsmethode, z. B. eine verschleierte E-Mail. |
Umleitungsantwort
Wenn die Client-App die Authentifizierungsmethode oder -funktionen, die Microsoft Entra erfordert, nicht unterstützt, ist ein Fallback auf den webbasierten Authentifizierungsfluss erforderlich. In diesem Szenario informiert Microsoft Entra die App durch Zurückgeben eines redirect Abfragetyps in der Antwort:
HTTP/1.1 200 OK
Content-Type: application/json
{
"challenge_type": "redirect"
}
Fehlerantwort
Beispiel:
HTTP/1.1 400 Bad Request
Content-Type: application/json
{
"error": "invalid_request",
"error_description": "AADSTS901007: The continuation_token provided is not valid for this endpoint.\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"
}
| Eigentum | 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 der error Eigenschaft):
| Fehlerwert | Beschreibung |
|---|---|
invalid_request |
Die Validierung des Anforderungsparameters ist fehlgeschlagen. Um zu verstehen, was passiert ist, verwenden Sie die Meldung in der Fehlerbeschreibung. |
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. |
server_error |
Bei der Anforderung ist ein Fehler aufgetreten. |
Nachdem die Client-App erfolgreich eine Liste der für den Benutzer registrierten starken Authentifizierungsmethoden abgerufen hat, wählt der Benutzer eine Methode aus, die er zum Abschließen der MFA-Herausforderung verwenden möchte. Der Ablauf wird dann wie folgt fortgesetzt:
Die Client-App ruft das
/oauth2/v2.0/challengeFortsetzungstoken auf und enthält das von der/oauth2/v2.0/introspectMFA-Methodeidder Wahl abgerufene Fortsetzungstoken: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 &id=0a0a0a0a-1111-bbbb-2222-3c3c3c3c3c3c &continuation_token=uY29tL2F1dGhlbnRpY...Microsoft Entra sendet einen Abfragecode an den Abfragekanal des Benutzers, z. B. E-Mail, und antwortet dann mit einem Fortsetzungstoken und den MFA-Abfragedetails zurück auf die Client-App:
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 }Die App kann nun eine POST-Anforderung an den
/oauth2/v2.0/tokenEndpunkt senden und ein Fortsetzungstoken, einen korrekten Erteilungstyp und entsprechende Grant-Typwerte zum Abrufen von Sicherheitstoken enthält. Siehe erwartete Antwort in Anforderung für Sicherheitstoken:POST https://{tenant_subdomain}.ciamlogin.com/{tenant_subdomain}.onmicrosoft.com/oauth2/v2.0/token Content-Type: application/x-www-form-urlencoded client_id=00001111-aaaa-2222-bbbb-3333cccc4444 &continuation_token=uY29tL2F1dGhlbnRpY... &grant_type=mfa_oob &oob={otp_code} &scope=openid offline_access
Registrieren einer API-Referenz für sichere Authentifizierungsmethoden
Die systemeigene Authentifizierung unterstützt die Registrierung einer starken Authentifizierungsmethode. Wenn die App den /oauth2/v2.0/token-Endpunkt aufruft und MFA erforderlich ist, der Benutzer jedoch keine registrierte starke Methode hat, weist die Antwort, registeration_required, der App an, den Benutzer registrieren zu lassen, bevor Token ausgestellt werden können.
Nachdem die Client-App den Fluss zum Registrieren einer starken Authentifizierungsmethode abgeschlossen hat, ruft sie den /oauth2/v2.0/token Endpunkt auf, um Sicherheitstoken anzufordern.
Registrierungsendpunkte für starke Authentifizierungsmethoden
Um die Registrierungs-API für starke Authentifizierungsmethoden zu verwenden, verwendet die App den in der folgenden Tabelle gezeigten Endpunkt:
| Endpunkt | Beschreibung |
|---|---|
/register/v1.0/introspect |
Rufen Sie diesen Endpunkt auf, um eine Liste der starken Authentifizierungsmethoden abzurufen, die der Benutzer registrieren kann. |
/register/v1.0/challenge |
Rufen Sie diesen Endpunkt auf, um die Abfrage an den Benutzer zu senden, z. B. eine einmalige E-Mail-Kennung. |
/register/v1.0/continue |
Rufen Sie diesen Endpunkt auf, um die Abfrage zu übermitteln, die die App vom Benutzer erfasst, z. B. einmalkennung, um einen Fluss zum Registrieren einer starken Authentifizierungsmethode abzuschließen. Nachdem der Aufruf erfolgreich war und Sie ein Fortsetzungstoken erhalten, rufen Sie den /oauth2/v2.0/token Endpunktend auf, um Sicherheitstoken anzufordern.
Erfahren Sie, wie Sie den Tokenendpunkt aufrufen. |
Schritt 1: Abrufen der Liste der starken Authentifizierungsmethoden
Der Registrierungsablauf beginnt, wenn die App die Liste der starken Authentifizierungsmethoden anfordert, die der Benutzer registrieren darf.
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/register/v1.0/introspect
Content-Type: application/x-www-form-urlencoded
?continuation_token=uY29tL2F1dGhlbnRpY...
&client_id=00001111-aaaa-2222-bbbb-3333cccc4444
| 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) der App, die Sie im Microsoft Entra Admin Center registriert haben. |
Antwort bei Erfolg
Hier ist ein Beispiel für eine erfolgreiche Antwort:
HTTP/1.1 200 OK
Content-Type: application/json
{
"continuation_token": "uY29tL2F1dGhlbnRpY...",
"methods":[
{
"id":"email",
"challenge_type":"oob",
"challenge_channel":"email",
"login_hint":"caseyjensen@contoso.com"
},
{
"id": "sms",
"challenge_type": "oob",
"challenge_channel": "sms"
}
]
}
| Eigentum | Beschreibung |
|---|---|
continuation_token |
Continuation-Token, das Microsoft Entra zurückgibt. |
methods |
Eine Liste (von Objekten) mit starken Authentifizierungsmethoden, die dem Benutzer zur Registrierung zur Verfügung stehen. |
Das Objekt der starken Authentifizierungsmethoden weist die folgenden Eigenschaften auf:
| Eigentum | Beschreibung |
|---|---|
id |
Zeichenfolgenschlüssel der Methode. Unterstützte Werte E-Mail, SMS. |
challenge_type |
Abfragetyp ausgewählt, der für den Benutzer als MFA-Methode verwendet werden soll. Der aktuelle unterstützte Abfragetyp ist oob. |
challenge_channel |
Der Typ des Kanals, an den die MFA-Methode gesendet wird. Unterstützte Werte E-Mail, SMS. |
login_hint |
Der Hinweis für die sichere Authentifizierungsmethode, z. B. eine E-Mail. Dieser Wert wird von der Client-App verwendet, um das E-Mail-Textfeld vorab zu füllen. |
Fehlerantwort
Beispiel:
HTTP/1.1 400 Bad Request
Content-Type: application/json
{
"error": "invalid_request",
"error_description": "AADSTS901007: The continuation_token provided is not valid for this endpoint.\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"
}
| Eigentum | 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 der error Eigenschaft):
| 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 „OTP per E-Mail“ nicht für alle Mandantenbenutzer aktiviert. |
expired_token |
Das in der Anforderung enthaltene Fortsetzungstoken ist abgelaufen. |
Schritt 2: Auswählen einer starken Authentifizierungsmethode
Übermitteln Sie in diesem Schritt die starke Authentifizierungsmethode, die der Benutzer registrieren möchte. Microsoft Entra sendet dann eine Abfrage, z. B. eine Einmalige E-Mail-Kennung, an den Benutzer.
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/register/v1.0/challenge
?continuation_token=uY29tL2F1dGhlbnRpY...
&client_id=00001111-aaaa-2222-bbbb-3333cccc4444
&challenge_type=oob
&challenge_channel=email
&challenge_target=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) der App, die Sie im Microsoft Entra Admin Center registriert haben. |
continuation_token |
Ja | Das Continuation-Token, das Microsoft Entra vom /register/v1.0/introspect -Endpunkt zurückgibt |
challenge_type |
Ja | Der Abfragetyp der Authentifizierungsmethode. Der aktuelle Typ ist oob. |
challenge_target |
Ja | Die E-Mail- oder Telefonnummer, die der Benutzer registrieren möchte. |
challenge_channel |
Nein | Der Kanal, an den die Abfrage gesendet werden soll. Unterstützte Werte des Herausforderungskanals: E-Mail, SMS. |
Antwort bei Erfolg
Hier ist ein Beispiel für eine erfolgreiche Antwort.
Beispiel 1:
HTTP/1.1 200 OK
Content-Type: application/json
{
"continuation_token": "uY29tL2F1dGhlbnRpY...",
"challenge_type": "oob",
"binding_method": "prompt",
"challenge_target": "contoso-consumer@contoso.com",
"challenge_channel": "email",
"code_length": 8
}
Beispiel 2:
Wenn der Registrierungsfluss dem Registrierungsfluss mit einer starken Authentifizierungsmethode vorausgeht und die an den /register/v1.0/challenge Endpunkt übermittelten E-Mails mit dem im Registrierungsablauf überprüften übereinstimmen, registriert die systemeigene Authentifizierungs-API die Methode, ohne eine Abfrage an den Benutzer zu senden. In diesem Fall sieht die Antwort ähnlich wie der folgende Codeausschnitt aus:
HTTP/1.1 200 OK
Content-Type: application/json
{
"continuation_token": "uY29tL2F1dGhlbnRpY...",
"challenge_type": "preverified"
}
| Eigentum | Beschreibung |
|---|---|
continuation_token |
Continuation-Token, das Microsoft Entra zurückgibt. |
challenge_type |
Abfragetyp, der für den Benutzer zur Authentifizierung ausgewählt wurde, z. B. oob, oder vorab überprüft , wenn die starke Authentifizierungsmethode vorververifiziert wird. |
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. Wird ausgegeben, wenn challenge_typeein Ob ist und die starke Authentifizierungsmethode nicht vorab festgelegt ist. |
challenge_channel |
Der Typ des Kanals, über den der Einmal-Passcode gesendet wurde. Unterstützte Werte E-Mail, SMS. Wird zurückgegeben, wenn die sichere Authentifizierungsmethode nicht vorververifiziert ist. |
code_length |
Die Länge der einmaligen Kennung, wenn binding_method dazu aufgefordert wird. Wird zurückgegeben, wenn die sichere Authentifizierungsmethode nicht vorververifiziert ist. |
challenge_target |
Das Ziel, an das die Herausforderung gesendet wurde. Dies entspricht der Eingabe in der Anforderung. Wird zurückgegeben, wenn die sichere Authentifizierungsmethode nicht vorververifiziert ist. |
interval |
Das Intervall (in Sekunden) sollte der Client zwischen der Abfrage von /register/continue warten. Wird nur zurückgegeben, wenn prompt=none und die starke Authentifizierungsmethode nicht vorververifiziert ist. Clients sollten das Intervall jedes Mal verdoppeln, wenn sie eine HTTP 429 von der systemeigenen Authentifizierungs-API erhalten. |
Fehlerantwort
Die folgenden Fehler ähneln denen, die beim Aufrufen des Endpunkts /register/v1.0/introspect auftreten können. Wenn die Telefonnummer jedoch als hohes Risiko eingestuft wird, kann die Anforderung blockiert werden, wenn die Telefonnummer registriert wird.
Hier sind die möglichen Fehler, die auftreten können, wenn die Anforderung blockiert wird:
| Fehlerwert | Beschreibung |
|---|---|
access_denied |
SMS wurde blockiert. |
Wenn der Fehlerparameter den Wert access_denied aufweist, enthält Microsoft Entra eine Subfehlereigenschaft in der Antwort. Hier sind die möglichen Werte der Suberror-Eigenschaft für einen invalid_grant Fehler:
| Unterfehlerwert | Beschreibung |
|---|---|
provider_blocked_by_admin |
Der Mandantenadministrator hat die Telefonregion blockiert. |
provider_blocked_by_rep |
Die mehrstufige Authentifizierungsmethode wird blockiert (Telefonnummer wurde von RepMap blockiert). |
Schritt 3: Absenden einer Herausforderung
Führen Sie in diesem Schritt einen Aufruf des /register/v1.0/continue Endpunkts durch, um die Registrierung der starken Authentifizierungsmethode abzuschließen.
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/register/v1.0/continue
?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 | Continuation-Token, das in der vorherigen Anforderung zurückgegeben Microsoft Entra. |
client_id |
Ja | Die Anwendungs-ID (Client) der App, die Sie im Microsoft Entra Admin Center registriert haben. |
grant_type |
Ja | Der Grant-Typ. Der aktuelle unterstützte Wert ist oob, oder continuation_token , wenn die starke Authentifizierungsmethode im /register/v1.0/challenge Endpunkt vorab überprüft wird. |
oob |
Nein | 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 /register/v1.0/challenge-Endpunkt senden. Erforderlich, wenn die sichere Authentifizierungsmethode im /register/v1.0/challenge Endpunkt nicht vorververifiziert ist. |
Antwort bei Erfolg
Hier ist ein Beispiel für eine erfolgreiche Antwort:
HTTP/1.1 200 OK
Content-Type: application/json
{
"continuation_token": "uY29tL2F1dGhlbnRpY..."
}
| Eigentum | Beschreibung |
|---|---|
continuation_token |
Das continuation-Token, das Microsoft Entra zurückgibt. Verwenden Sie dieses Fortsetzungstoken, um den /oauth2/v2.0/token Endpunkt aufzurufen, um Sicherheitstoken anzufordern. Erfahren Sie , wie Sie den Tokenendpunkt aufrufen. |
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"
}
| Eigentum | 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 der error Eigenschaft):
| 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 „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 den Wert invalid_grant aufweist, enthält Microsoft Entra eine suberror-Eigenschaft in der Antwort. Hier sind die möglichen Werte der suberror Eigenschaft für einen invalid_grant Fehler:
| Unterfehlerwert | Beschreibung |
|---|---|
invalid_oob_value |
Der Wert des Einmal-Passcodes ist ungültig. |
Self-Service-Kennwortzurücksetzung (SSPR)
Verwenden Sie für Benutzer, deren primäre Authentifizierungsmethode E-Mail mit Kennwort ist, die Self-Service Password Reset (SSPR)-API, um Kundenbenutzern das Zurücksetzen ihres Kennworts zu ermöglichen. Sie können diese API für vergessene Kennwort- oder Änderungskennwortszenarien verwenden.
API-Endpunkte für Self-Service-Passwort-Reset
Um diese API zu verwenden, verwendet die App den in der folgenden Tabelle gezeigten Endpunkt:
| Endpunkt | Beschreibung |
|---|---|
/resetpassword/v1.0/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 zurück, das im Kennwortzurücksetzungsablauf verwendet werden soll. Wenn Ihre App Authentifizierungsmethoden anfordert, die von Microsoft Entra nicht unterstützt werden, kann diese Endpunktantwort für Ihre App angeben, dass sie einen browserbasierten Authentifizierungsfluss verwenden muss. |
/resetpassword/v1.0/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 für Ihre App angeben, dass sie einen browserbasierten Authentifizierungsfluss verwenden muss. |
/resetpassword/v1.0/continue |
Überprüft die vom /resetpassword/v1.0/challenge-Endpunkt ausgegebene Aufforderung, gibt dann entweder ein Fortsetzungstoken für den /resetpassword/v1.0/submit-Endpunkt zurück oder gibt eine andere Aufforderung für den Benutzer aus. |
/resetpassword/v1.0/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. |
/resetpassword/v1.0/poll_completion |
Die App kann das vom Endpunkt ausgestellte /resetpassword/v1.0/submit verwenden, um den Status der Kennwortzurücksetzungsanforderung zu überprüfen. |
oauth2/v2.0/token |
Wenn die Kennwortzurücksetzung erfolgreich ist, kann die App das Fortsetzungstoken verwenden, das sie vom /resetpassword/v1.0/poll_completion Endpunkt abruft, um Sicherheitstoken vom oauth2/v2.0/token Endpunkt abzurufen. |
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.
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 /resetpassword/v1.0/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 /resetpassword/v1.0/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) der App, 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. |
capabilities |
Nein | Durch Leerzeichen getrennte Flags, die die Bereitschaft der Client-App "how" beschreiben. Definiert zwar challenge_type , welche Methoden herausfordern können, teilen Sie der systemeigenen Authentifizierungs-API mit, capabilities welche zusätzlichen Flüsse die Client-App verarbeiten kann und welche UIs angezeigt werden können. Bedeutet z. B. eine andere mfa_required und /challenge eine Schleife; /token bedeutet, registration_required dass die Client-App Registrierungs-APIs aufruft und die Registrierungs-UI anzeigt. Wenn eine erforderliche Funktion nicht von der Client-App angekündigt wird, gibt die API die Umleitung zurück. Unterstützte Werte sind mfa_required und registration_required.
Weitere Informationen zu Funktionen. |
Antwort bei Erfolg
Beispiel:
HTTP/1.1 200 OK
Content-Type: application/json
{
"continuation_token": "uY29tL2F1dGhlbnRpY..."
}
| Eigentum | Beschreibung |
|---|---|
continuation_token |
Continuation-Token, das Microsoft Entra zurückgibt. |
Umleitungsantwort
Wenn die Client-App die Authentifizierungsmethode oder -funktionen, die Microsoft Entra erfordert, nicht unterstützt, ist ein Fallback auf den webbasierten Authentifizierungsfluss erforderlich. In diesem Szenario informiert Microsoft Entra die App durch Zurückgeben eines redirect Abfragetyps in der Antwort:
HTTP/1.1 200 OK
Content-Type: application/json
{
"challenge_type": "redirect"
}
| Eigentum | Beschreibung |
|---|---|
challenge_type |
Microsoft Entra gibt eine Antwort zurück, die einen Abfragetyp aufweist. 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"
}
| Eigentum | 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 der error Eigenschaft):
| 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 die suberror Eigenschaft, um die genaue Ursache des Fehlers zu ermitteln. |
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 den Wert invalid_client aufweist, enthält Microsoft Entra eine suberror-Eigenschaft in der Antwort. Hier sind die möglichen Werte der suberror Eigenschaft für einen invalid_client Fehler:
| Unterfehlerwert | Beschreibung |
|---|---|
nativeauthapi_disabled |
Die Client-ID für eine App, die nicht für die systemeigene Authentifizierung aktiviert ist. |
Schritt 2: Authentifizierungsmethode auswählen
Um den Ablauf fortzusetzen, verwendet die App das aus dem vorherigen Schritt erworbene Fortsetzungstoken, um Microsoft Entra anzufordern, einen der unterstützten Abfragetypen auszuwählen, mit denen der Benutzer sich authentifizieren kann. Die App sendet eine POST-Anforderung an den /resetpassword/v1.0/challenge-Endpunkt. Wenn diese Anforderung erfolgreich ist, sendet Microsoft Entra eine einmalkennung an die E-Mail-Adresse des Benutzerkontos. 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=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) der App, die Sie im Microsoft Entra Admin Center registriert haben. |
continuation_token |
Ja | Continuation-Token, das in der vorherigen Anforderung zurückgegeben Microsoft Entra. |
challenge_type |
Nein | 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
}
| Eigentum | Beschreibung |
|---|---|
continuation_token |
Continuation-Token, das Microsoft Entra zurückgibt. |
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_typeoob 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. Wenn MFA für den Benutzer aktiviert ist, wird die E-Mail mit der einmaligen Kennung an folgendes gesendet: – E-Mail-Adresse, die als starke Authentifizierungsmethode verwendet wird, wenn sich die E-Mail-Adresse von der E-Mail-Adresse des Kontos unterscheidet. - E-Mail-Adresse des Kontos, wenn die starke Authentifizierungsmethode SMS ist. |
code_length |
Die Länge der einmalkennung, die Microsoft Entra generiert. |
Umleitungsantwort
Wenn die Client-App die Authentifizierungsmethode oder -funktionen, die Microsoft Entra erfordert, nicht unterstützt, ist ein Fallback auf den webbasierten Authentifizierungsfluss erforderlich. In diesem Szenario informiert Microsoft Entra die App durch Zurückgeben eines redirect Abfragetyps in der Antwort:
HTTP/1.1 200 OK
Content-Type: application/json
{
"challenge_type": "redirect"
}
| Eigentum | Beschreibung |
|---|---|
challenge_type |
Microsoft Entra gibt eine Antwort zurück, die einen Abfragetyp aufweist. 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"
}
| Eigentum | 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 der error Eigenschaft):
| 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 /resetpassword/v1.0/continue-Endpunkt. In der Anforderung muss die App die im vorherigen Schritt ausgewählten Anmeldeinformationen des Benutzers und das vom /resetpassword/v1.0/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 | Continuation-Token, das in der vorherigen Anforderung zurückgegeben Microsoft Entra. |
client_id |
Ja | Die Anwendungs-ID (Client) der App, 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 /resetpassword/v1.0/challenge-Endpunkt senden. |
Antwort bei Erfolg
Beispiel:
HTTP/1.1 200 OK
Content-Type: application/json
{
"expires_in": 600,
"continuation_token": "czZCaGRSa3F0MzpnW...",
}
| Eigentum | 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 |
Continuation-Token, das Microsoft Entra zurückgibt. |
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"
}
| Eigentum | 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 der error Eigenschaft):
| 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 die suberror Eigenschaft, um die genaue Ursache des Fehlers zu ermitteln. |
expired_token |
Das Fortsetzungstoken ist abgelaufen. |
Wenn der Fehlerparameter den Wert invalid_grant aufweist, enthält Microsoft Entra eine suberror-Eigenschaft in der Antwort. Hier sind die möglichen Werte der suberror Eigenschaft für einen invalid_grant Fehler:
| Unterfehlerwert | Beschreibung |
|---|---|
invalid_oob_value |
Der Wert des Einmal-Passcodes ist ungültig. |
Schritt 4: Übermitteln eines neuen Kennworts
Die App sammelt ein neues Kennwort vom Benutzer und verwendet dann das vom -Endpunkt ausgestellte /resetpassword/v1.0/continue, um das Kennwort zu übermitteln, indem eine POST-Anforderung an den /resetpassword/v1.0/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 | Continuation-Token, das in der vorherigen Anforderung zurückgegeben Microsoft Entra. |
client_id |
Ja | Die Anwendungs-ID (Client) der App, 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 Microsoft Entra. |
Antwort bei Erfolg
Beispiel:
HTTP/1.1 200 OK
Content-Type: application/json
{
"continuation_token": "uY29tL2F1dGhlbnRpY...",
"poll_interval": 2
}
| Eigentum | Beschreibung |
|---|---|
continuation_token |
Continuation-Token, das Microsoft Entra zurückgibt. |
poll_interval |
Die Mindestzeit in Sekunden, welche die App zwischen Abrufanforderungen warten sollte, um den Status der Kennwortzurücksetzungsanforderung über den /resetpassword/v1.0/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"
}
| Eigentum | 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 der error Eigenschaft):
| 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 die suberror Eigenschaft, um die genaue Ursache des Fehlers zu ermitteln. |
Wenn der Fehlerparameter den Wert invalid_grant aufweist, enthält Microsoft Entra eine suberror-Eigenschaft in der Antwort. Hier sind die möglichen Werte der suberror Eigenschaft:
| Unterfehlerwert | Beschreibung |
|---|---|
password_too_weak |
Das Kennwort ist zu schwach, da es die Komplexitätsanforderungen nicht erfüllt. Erfahren Sie mehr über die Kennwortrichtlinien Microsoft Entra. |
password_too_short |
Das neue Kennwort enthält weniger als 8 Zeichen. Erfahren Sie mehr über die Kennwortrichtlinien Microsoft Entra. |
password_too_long |
Das neue Kennwort ist länger als 256 Zeichen. Erfahren Sie mehr über die Kennwortrichtlinien Microsoft Entra. |
password_recently_used |
Das neue Kennwort darf nicht mit einem zuletzt verwendeten übereinstimmen. Erfahren Sie mehr über die Kennwortrichtlinien 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 Microsoft Entra. |
password_is_invalid |
Das Kennwort ist ungültig, z. B. weil es unzulässige Zeichen verwendet. Erfahren Sie mehr über die Kennwortrichtlinien Microsoft Entra. Diese Antwort ist möglich, wenn die App ein Benutzerkennwort sendet. |
Schritt 5: Abrufen des Status der Kennwortzurücksetzung
Schließlich kann die App, da die Aktualisierung der Konfiguration des Benutzers mit dem neuen Kennwort zu einer Verzögerung kommt, den endpunkt /resetpassword/v1.0/poll_completion verwenden, um Microsoft Entra für den Kennwortzurücksetzungsstatus abzufragen. Die Mindestzeit in Sekunden, welche die App zwischen Abrufanforderungen warten sollte, wird vom /resetpassword/v1.0/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 | Continuation-Token, das in der vorherigen Anforderung zurückgegeben Microsoft Entra. |
client_id |
Ja | Die Anwendungs-ID (Client) der App, 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..."
}
| Eigentum | Beschreibung |
|---|---|
status |
Der Status der Anforderung „Kennwort zurücksetzen“. Wenn Microsoft Entra den Status failed zurückgibt, kann die App das neue Kennwort erneut übermitteln, indem sie eine weitere Anforderung an den endpunkt /resetpassword/v1.0/submit sendet und das neue Fortsetzungstoken einschließt. |
continuation_token |
Continuation-Token, das Microsoft Entra zurückgibt. Wenn der Status succeeded ist, kann die App das Fortsetzungstoken verwenden, das Microsoft Entra zurückgibt, um Sicherheitstoken über den endpunkt oauth2/v2.0/token anzufordern, wie in Request for security tokens 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ückgeben (mögliche Werte des Parameters status):
| 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 /resetpassword/v1.0/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"
}
| Eigentum | 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 der error Eigenschaft):
| Fehlerwert | Beschreibung |
|---|---|
invalid_request |
Die Validierung des Anforderungsparameters ist fehlgeschlagen, z. B. ist die Validierung des Fortsetzungstokens fehlgeschlagen. |
expired_token |
Das Fortsetzungstoken ist abgelaufen. |
Automatische Anmeldung nach der Kennwortzurücksetzung
Wenn sich der Benutzer nach einer erfolgreichen Kennwortzurücksetzung anmelden muss. Die App muss den /oauth2/v2.0/token Endpunkt aufrufen. Erfahren Sie , wie Sie den Tokenendpunkt aufrufen.