Delen via


Naslaginformatie over systeemeigen verificatie-API

Van toepassing op: Groene cirkel met een wit vinkje dat aangeeft dat de volgende inhoud van toepassing is op externe tenants. Externe tenants (meer informatie)

met Microsoft Entra natieve verificatie kunt u de gebruikersinterface van uw app in de clienttoepassing hosten in plaats van verificatie delegeren aan browsers, wat resulteert in een systeemeigen geïntegreerde verificatie-ervaring. Als ontwikkelaar hebt u volledige controle over het uiterlijk van de aanmeldingsinterface.

In dit API-naslagartikel worden details beschreven die alleen vereist zijn wanneer u handmatig onbewerkte HTTP-aanvragen uitvoert om de stroom uit te voeren. We raden deze methode echter niet aan. Gebruik dus, indien mogelijk, een door Microsoft gebouwde en ondersteunde verificatie-SDK. Meer informatie over systeemeigen verificatie-SDK's. Wanneer een aanroep naar de API-eindpunten is geslaagd, ontvangt u zowel een id-token voor gebruikersidentificatie als een toegangstoken om beveiligde API's aan te roepen. Alle antwoorden van de API hebben een JSON-indeling.

de systeemeigen verificatie-API van Microsoft Entra ondersteunt registratie en aanmelding voor twee verificatiestromen:

  • E-mail met wachtwoord, die registratie en aanmelding ondersteunt met een e-mailadres en wachtwoord, en selfservice voor wachtwoordherstel (SSPR).

    • Gebruikers die inloggen met een e-mailadres en wachtwoord kunnen ook inloggen met een gebruikersnaam en wachtwoord.
  • Een eenmalige wachtwoordcode per e-mail verzenden, die ondersteuning biedt voor registratie en aanmelding met eenmalige wachtwoordcode voor e-mail.

Notitie

Momenteel bieden de systeemeigen verificatie-API-eindpunten geen ondersteuning voor Cross-Origin Resource Sharing (CORS).

Vereisten

  1. Een Microsoft Entra externe tenant. Als u er nog geen hebt, maakt u een externe tenant.

  2. Als u dit nog niet hebt gedaan, Register van een toepassing in het Microsoft Entra beheercentrum. Zorg ervoor dat u het volgende doet:

    • Noteer de id van de toepassing (client) en de id van de map (tenant) voor later gebruik.
    • Beheerderstoestemming verlenen aan de toepassing.
    • Schakel openbare client- en systeemeigen verificatiestromen in.
  3. Als u dit nog niet hebt gedaan, Maak een gebruikersstroom in het Microsoft Entra-beheercentrum. Wanneer u de gebruikersstroom maakt, noteert u de gebruikerskenmerken die u zo nodig configureert, omdat deze kenmerken de kenmerken zijn die Microsoft Entra verwacht dat uw app wordt verzonden.

  4. Koppel uw app-registratie aan de gebruikersstroom.

  5. Registreer voor de inlogflow een klantgebruiker, die je gebruikt om de flow te testen. U kunt deze testgebruiker ook ophalen nadat u de registratiestroom hebt uitgevoerd.

  6. Schakel voor de SSPR-stroom selfservice voor wachtwoordherstel in voor klantgebruikers in de externe tenant. SSPR is beschikbaar voor klantgebruikers die e-mail met wachtwoordverificatiemethode gebruiken.

  7. Als je gebruikers die inloggen met een e-mailadres en wachtwoord ook wilt toestaan om in te loggen met een gebruikersnaam en wachtwoord, gebruik dan de stappen in het artikel Inloggen met een alias of gebruikersnaam :

    1. Schakel gebruikersnaam in bij het inloggen.
    2. Maak gebruikers aan met een gebruikersnaam in het beheercentrum of werk bestaande gebruikers bij door een gebruikersnaam toe te voegen. U kunt ook automate gebruiker maken en bijwerken in uw app met behulp van microsoft Graph API.
  8. Als u meervoudige verificatie (MFA) wilt afdwingen voor uw klanten, gebruikt u de stappen in Meervoudige verificatie (MFA) toevoegen aan een app om MFA toe te voegen aan uw aanmeldingsstroom. Systeemeigen verificatie biedt ondersteuning voor eenmalige wachtwoordcode voor e-mail en sms als tweede factor voor MFA.

Vervolgtoken

Wanneer u een aanmeldings-, registratie- of SSPR-eindpunt aanroept, bevat het antwoord een vervolgtoken. Dit token identificeert de huidige stroom op unieke wijze en laat Microsoft Entra ID de status van de eindpunten behouden. Neem het token op in elke volgende aanvraag in die stroom. Het is alleen geldig voor een beperkte tijd en kan alleen worden gebruikt voor de volgende aanvragen binnen dezelfde stroom.

API-referentie voor aanmelding

Als u een aanmeldingsstroom van een gebruiker voor beide verificatiemethoden wilt voltooien, communiceert uw app met vier eindpunten, , , en .

API-eindpunten voor aanmelding

Eindpunt Beschrijving
/signup/v1.0/start Met dit eindpunt wordt de registratiestroom gestart. U geeft geldige toepassings-id, nieuwe gebruikersnaam en uitdagingstype door. Vervolgens krijgt u een nieuw vervolgtoken terug. Het eindpunt kan een antwoord retourneren om aan te geven dat de toepassing een webverificatiestroom gebruikt als de gekozen verificatiemethoden van de toepassing niet worden ondersteund door Microsoft Entra.
/signup/v1.0/challenge Uw app roept dit eindpunt aan met een lijst met challengetypen ondersteund door Microsoft Entra. Microsoft Entra selecteert vervolgens een van de ondersteunde verificatiemethoden waarmee de gebruiker zich kan verifiëren.
/signup/v1.0/continue Dit eindpunt helpt bij het voortzetten van de stroom om het gebruikersaccount te maken of de stroom te onderbreken vanwege ontbrekende vereisten, zoals vereisten voor wachtwoordbeleid of onjuiste kenmerkindelingen. Dit eindpunt genereert een vervolgtoken en retourneert het vervolgens naar de app. Het eindpunt kan een antwoord retourneren om aan te geven dat de toepassing een webverificatiestroom gebruikt als de toepassing geen verificatiemethode heeft gekozen door Microsoft Entra.
oauth/v2.0/token De toepassing roept dit eindpunt aan om tot slot beveiligingstokens aan te vragen. De app moet het vervolgtoken gebruiken dat het verkrijgt van de laatste geslaagde aanroep naar het eindpunt.

Typen aanmeldingsuitdaging

Met de API kan de client-app de verificatiemethoden adverteren die worden ondersteund, wanneer deze een aanroep naar Microsoft Entra doet. Hiervoor gebruikt de app de parameter in de aanvraag van de app. Deze parameter bevat vooraf gedefinieerde waarden, die verschillende verificatiemethoden vertegenwoordigen.

Meer informatie over uitdagingstypen in de systeemeigen verificatievraagtypen. In dit artikel worden de waarden voor het type uitdaging uitgelegd die u moet gebruiken voor een verificatiemethode.

Details van registratiestroomprotocol

In het sequentiediagram ziet u de stroom van het registratieproces.

diagram van systeemeigen verificatie een registratiestroom.

Dit diagram geeft aan dat de app op verschillende momenten gebruikersnaam (e-mail), wachtwoord (voor e-mail met wachtwoordverificatiestroom) en kenmerken van de gebruiker verzamelt (en mogelijk op afzonderlijke schermen). U kunt uw app echter ontwerpen om de gebruikersnaam (e-mailadres), het wachtwoord en alle vereiste en optionele kenmerkwaarden in hetzelfde scherm te verzamelen en vervolgens alle waarden naar het eindpunt te verzenden. Als de app alle vereiste informatie naar het eindpunt verzendt, hoeft de app geen aanroepen te doen en antwoorden te verwerken in de optionele stappen.

In stap 21 is de gebruiker al aangemeld. Als de app echter automatisch moet worden aangemeld bij een gebruiker na aanmelding, roept de app het eindpunt aan om beveiligingstokens aan te vragen.

Stap 1: Aanvragen om de registratiestroom te starten

De registratiestroom begint met het indienen van een POST-aanvraag naar het eindpunt om de registratiestroom te starten.

Hier volgen voorbeelden van de aanvraag (we presenteren de voorbeeldaanvraag in meerdere regels voor leesbaarheid):

Voorbeeld 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 

Voorbeeld 2 (gebruikerskenmerken en wachtwoord opnemen in de aanvraag):

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 
Kenmerk Vereist Beschrijving
tenant_subdomain Ja Het subdomein van de externe tenant die u hebt gemaakt. Vervang in de URL door het subdomein Directory (tenant). Als het primaire domein van uw tenant bijvoorbeeld contoso.onmicrosoft.com is, gebruikt u contoso. Als u uw tenantsubdomein niet hebt, leest u de details van uw tenant.
client_id Ja De toepassings-id (client) van de app die u hebt geregistreerd in het Microsoft Entra-beheercentrum.
username Ja E-mail van de klantgebruiker waarmee ze zich willen registreren, zoals .
challenge_type Ja Een door spaties gescheiden lijst met tekenreeksen voor autorisatievraagtypen die door de app worden ondersteund, zoals . De lijst moet altijd het type uitdaging bevatten. De waarde wordt verwacht of voor e-mail met wachtwoordverificatiemethode.
password Nee De wachtwoordwaarde die de app verzamelt van de klantgebruiker. U kunt het wachtwoord van een gebruiker verzenden via het of later in het eindpunt. Vervang door de wachtwoordwaarde die de app verzamelt van de klantgebruiker. Het is uw verantwoordelijkheid om te bevestigen dat de gebruiker op de hoogte is van het wachtwoord dat ze willen gebruiken door het veld wachtwoord bevestigen in de gebruikersinterface van de app op te geven. U moet er ook voor zorgen dat de gebruiker op de hoogte is van wat een sterk wachtwoord is volgens het beleid van uw organisatie. Meer informatie over het wachtwoordbeleid van Microsoft Entra.
Deze parameter is alleen van toepassing op e-mail met wachtwoordverificatiemethode.
attributes Nee De waarden van de gebruiker kenmerken die door de app worden verzameld van de klantgebruiker. De waarde is een tekenreeks, maar opgemaakt als een JSON-object waarvan de sleutelwaarden programmeerbare naam van gebruikerskenmerken zijn. Deze kenmerken kunnen worden ingebouwd of aangepast en vereist of optioneel. De sleutelnamen van het object zijn afhankelijk van de kenmerken die de beheerder heeft geconfigureerd in Microsoft Entra beheercentrum. U kunt bepaalde of alle gebruikerskenmerken verzenden via het eindpunt of later in het eindpunt. Als u alle vereiste kenmerken via het eindpunt verzendt, hoeft u geen kenmerken in het eindpunt in te dienen. Als u echter bepaalde vereiste kenmerken via eindpunt indient, kunt u de resterende vereiste kenmerken later in het eindpunt indienen. Vervang respectievelijk de naam, leeftijd en postcode die door de app worden verzameld van de klantgebruiker. Microsoft Entra negeert alle kenmerken die u verzendt, die niet bestaan.
capabilities Nee Door ruimte gescheiden vlaggen die de mogelijkheden van de client-app beschrijven. Hoewel wordt gedefinieerd welke methoden kunnen worden aangeroepen, moet u de systeemeigen verificatie-API vertellen welke extra stromen de client-app kan verwerken en welke UIS's deze aan de gebruiker kunnen weergeven. Betekent bijvoorbeeld een andere en lus; betekent dat de registratie-API's van de client-app worden aangeroepen en de gebruikersinterface voor registratie wordt weergegeven. Als een vereiste mogelijkheid niet wordt geadverteerd door de client-app, retourneert de API omleiding. Ondersteunde waarden zijn en . Meer informatie over mogelijkheden.

Geslaagd antwoord

Hier volgt een voorbeeld van een geslaagd antwoord:

HTTP/1.1 200 OK
Content-Type: application/json
{
    "continuation_token": "AQABAAEAAA…",
} 
Vastgoed Beschrijving
continuation_token Continuation-token dat Microsoft Entra retourneert.

Antwoord omleiden

Als de client-app geen ondersteuning biedt voor de verificatiemethode of -mogelijkheden die Microsoft Entra vereist, is een terugval naar de webgebaseerde verificatiestroom nodig. In dit scenario informeert Microsoft Entra de app door een redirect-vraagtype in het antwoord te retourneren:

HTTP/1.1 200 OK
Content-Type: application/json
{     
   "challenge_type": "redirect" 
} 
Vastgoed Beschrijving
challenge_type Microsoft Entra retourneert een antwoord met een type uitdaging. De waarde van dit vraagtype is omleiding, waarmee de app de webverificatiestroom kan gebruiken.

Dit antwoord wordt als geslaagd beschouwd, maar de app is vereist om over te schakelen naar een webverificatiestroom. In dit geval raden we u aan een door Microsoft gebouwde en ondersteunde verificatiebibliotheek te gebruiken.

Foutrespons

Voorbeeld:

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"
} 
Vastgoed Beschrijving
error Een foutcodetekenreeks die kan worden gebruikt voor het classificeren van typen fouten en om te reageren op fouten.
error_description Een specifiek foutbericht waarmee u de oorzaak van een verificatiefout kunt identificeren.
error_codes Een lijst met Microsoft Entra-specifieke foutcodes waarmee u fouten kunt diagnosticeren.
timestamp Het tijdstip waarop de fout is opgetreden.
trace_id Een unieke id voor de aanvraag die u kan helpen bij het diagnosticeren van fouten.
correlation_id Een unieke id voor de aanvraag die kan helpen bij diagnostische gegevens over onderdelen.
invalid_attributes Een lijst (matrix met objecten) van kenmerken waarvoor de validatie is mislukt. Dit antwoord is mogelijk als de app gebruikerskenmerken verzendt en de waarde van de eigenschap attribute_validation_failed.
suberror Een foutcodetekenreeks die kan worden gebruikt voor het verder classificeren van typen fouten.

Hier volgen de mogelijke fouten die u kunt tegenkomen (mogelijke waarden van de eigenschap):

Foutwaarde Beschrijving
invalid_request Validatie van aanvraagparameter is mislukt, bijvoorbeeld wanneer de parameterwaarde van de challenge_type een niet-ondersteunde verificatiemethode bevat of de aanvraag geen parameter bevat die de client-id-waarde leeg of ongeldig is. Gebruik de parameter om de exacte oorzaak van de fout te leren.
invalid_client De client-id die de app in de aanvraag opneemt, is voor een app die geen systeemeigen verificatieconfiguratie heeft, zoals het geen openbare client is of niet is ingeschakeld voor systeemeigen verificatie. Gebruik de eigenschap om de exacte oorzaak van de fout te leren.
unauthorized_client De client-id die in de aanvraag wordt gebruikt, heeft een geldige client-id-indeling, maar bestaat niet in de externe tenant of is onjuist.
unsupported_challenge_type De parameterwaarde bevat niet het vraagtype.
user_already_exists Gebruiker bestaat al.
invalid_grant Het wachtwoord dat door de app wordt ingediend, voldoet niet aan alle complexiteitsvereisten, zoals het wachtwoord is te kort. Gebruik de eigenschap om de exacte oorzaak van de fout te leren.
Deze parameter is alleen van toepassing op e-mail met wachtwoordverificatiemethode.

Als de foutparameter een waarde van invalid_grant heeft, bevat Microsoft Entra een eigenschap suberror in het antwoord. Hier volgen de mogelijke waarden van de eigenschap voor een invalid_grant fout:

Suberrorwaarde Beschrijving
password_too_weak Het wachtwoord is te zwak omdat het niet voldoet aan de complexiteitsvereisten. Meer informatie over het wachtwoordbeleid van Microsoft Entra. Dit antwoord is mogelijk als de app een gebruikerswachtwoord indient.
password_too_short Nieuw wachtwoord is minder dan 8 tekens. Meer informatie over het wachtwoordbeleid van Microsoft Entra. Dit antwoord is mogelijk als de app een gebruikerswachtwoord indient.
password_too_long Nieuw wachtwoord is langer dan 256 tekens. Meer informatie over het wachtwoordbeleid van Microsoft Entra. Dit antwoord is mogelijk als de app een gebruikerswachtwoord indient.
password_recently_used Het nieuwe wachtwoord mag niet hetzelfde zijn als het wachtwoord dat onlangs is gebruikt. Meer informatie over het wachtwoordbeleid van Microsoft Entra. Dit antwoord is mogelijk als de app een gebruikerswachtwoord indient.
password_banned Nieuw wachtwoord bevat een woord, woordgroep of patroon dat wordt verboden. Meer informatie over het wachtwoordbeleid van Microsoft Entra. Dit antwoord is mogelijk als de app een gebruikerswachtwoord indient.
password_is_invalid Het wachtwoord is ongeldig, bijvoorbeeld omdat er niet-toegestane tekens worden gebruikt. Meer informatie over het wachtwoordbeleid van Microsoft Entra. Dit antwoord is mogelijk als de app een gebruikerswachtwoord indient.

Als de foutparameter een waarde van invalid_client heeft, bevat Microsoft Entra een eigenschap suberror in het antwoord. Hier volgen de mogelijke waarden van de eigenschap voor een invalid_client fout:

Suberrorwaarde Beschrijving
nativeauthapi_disabled De client-id voor een app die niet is ingeschakeld voor systeemeigen verificatie.

Notitie

Als u alle vereiste kenmerken via eindpunt verzendt, maar niet alle optionele kenmerken, kunt u later geen extra optionele kenmerken indienen via het eindpunt. Microsoft Entra vraagt niet expliciet om optionele kenmerken, omdat deze niet verplicht zijn om de registratiestroom te voltooien. Zie de tabel in de sectie Gebruikerskenmerken verzenden naar eindpunten voor meer informatie over de gebruikerskenmerken die u naar de eindpunten kunt verzenden.

Stap 2: Een verificatiemethode selecteren

De app vraagt Microsoft Entra om een van de ondersteunde uitdagingstypen te selecteren waarmee de gebruiker zich kan verifiëren. Hiervoor roept de app het eindpunt aan. De app moet het vervolgtoken opnemen dat deze verkrijgt van het eindpunt in de aanvraag.

Hier volgt een voorbeeld van de aanvraag (we presenteren de voorbeeldaanvraag in meerdere regels voor leesbaarheid):

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…
Kenmerk Vereist Beschrijving
tenant_subdomain Ja Het subdomein van de externe tenant die u hebt gemaakt. Vervang in de URL door het subdomein Directory (tenant). Als het primaire domein van uw tenant bijvoorbeeld contoso.onmicrosoft.com is, gebruikt u contoso. Als u uw tenantsubdomein niet hebt, leest u de details van uw tenant.
client_id Ja De toepassings-id (client) van de app die u hebt geregistreerd in het Microsoft Entra-beheercentrum.
challenge_type Nee Een door spaties gescheiden lijst met tekenreeksen voor autorisatievraagtypen die door de app worden ondersteund, zoals . De lijst moet altijd het type uitdaging bevatten. De waarde wordt verwacht voor eenmalige wachtwoordcode voor e-mail en voor e-mail met wachtwoordverificatiemethode.
continuation_token Ja Continuation-token dat Microsoft Entra geretourneerd in de vorige aanvraag.

Geslaagd antwoord

Microsoft Entra een eenmalige wachtwoordcode naar de e-mail van de gebruiker verzendt, reageert u vervolgens met het vraagtype met de waarde oob en aanvullende informatie over de eenmalige wachtwoordcode:

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
} 
Vastgoed Beschrijving
interval De tijdsduur in seconden moet de app wachten voordat wordt geprobeerd OTP opnieuw te verzenden.
continuation_token Continuation-token dat Microsoft Entra retourneert.
challenge_type Het type uitdaging waarmee de gebruiker zich kan verifiëren.
binding_method De enige geldige waarde is een prompt. Deze parameter kan in de toekomst worden gebruikt om de gebruiker meer manieren te bieden om de eenmalige wachtwoordcode in te voeren. Uitgegeven als oob is
challenge_channel Het type kanaal waarmee de eenmalige wachtwoordcode is verzonden. Op dit moment wordt alleen e-mailkanaal ondersteund.
challenge_target_label Een verborgen e-mail waar de eenmalige wachtwoordcode is verzonden.
code_length De lengte van de eenmalige wachtwoordcode die Microsoft Entra genereert.

Antwoord omleiden

Als de client-app geen ondersteuning biedt voor de verificatiemethode of -mogelijkheden die Microsoft Entra vereist, is een terugval naar de webgebaseerde verificatiestroom nodig. In dit scenario informeert Microsoft Entra de app door een redirect-vraagtype in het antwoord te retourneren:

HTTP/1.1 200 OK
Content-Type: application/json
{
   "challenge_type": "redirect"
}
Vastgoed Beschrijving
challenge_type Microsoft Entra retourneert een antwoord met een type uitdaging. De waarde van dit vraagtype is omleiding, waarmee de app de webverificatiestroom kan gebruiken.

Dit antwoord wordt als geslaagd beschouwd, maar de app is vereist om over te schakelen naar een webverificatiestroom. In dit geval raden we u aan een door Microsoft gebouwde en ondersteunde verificatiebibliotheek te gebruiken.

Foutrespons

Voorbeeld:

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"
} 
Vastgoed Beschrijving
error Een foutcodetekenreeks die kan worden gebruikt voor het classificeren van typen fouten en om te reageren op fouten.
error_description Een specifiek foutbericht waarmee u de oorzaak van een verificatiefout kunt identificeren.
error_codes Een lijst met Microsoft Entra-specifieke foutcodes waarmee u fouten kunt diagnosticeren.
timestamp Het tijdstip waarop de fout is opgetreden.
trace_id Een unieke id voor de aanvraag die u kan helpen bij het diagnosticeren van fouten.
correlation_id Een unieke id voor de aanvraag die kan helpen bij diagnostische gegevens over onderdelen.

Hier volgen de mogelijke fouten die u kunt tegenkomen (mogelijke waarden van de eigenschap):

Foutwaarde Beschrijving
invalid_request Validatie van aanvraagparameters is mislukt, zoals de client-id is leeg of ongeldig.
expired_token Het vervolgtoken is verlopen.
unsupported_challenge_type De parameterwaarde bevat niet het vraagtype.
invalid_grant Het vervolgtoken is ongeldig.

Stap 3: Eenmalige wachtwoordcode verzenden

De app verzendt de eenmalige wachtwoordcode die naar het e-mailadres van de gebruiker wordt verzonden. Omdat we eenmalige wachtwoordcode indienen, is een parameter vereist en moet de parameter een waarde-oob hebben.

Hier volgt een voorbeeld van de aanvraag (we presenteren de voorbeeldaanvraag in meerdere regels voor leesbaarheid):

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}
Kenmerk Vereist Beschrijving
tenant_subdomain Ja Het subdomein van de externe tenant die u hebt gemaakt. Vervang in de URL door het subdomein Directory (tenant). Als het primaire domein van uw tenant bijvoorbeeld contoso.onmicrosoft.com is, gebruikt u contoso. Als u uw tenantsubdomein niet hebt, leest u de details van uw tenant.
continuation_token Ja Continuation-token dat Microsoft Entra geretourneerd in de vorige aanvraag.
client_id Ja De toepassings-id (client) van de app die u hebt geregistreerd in het Microsoft Entra-beheercentrum.
grant_type Ja Een aanvraag naar het eindpunt kan worden gebruikt om eenmalige wachtwoordcode, wachtwoord of gebruikerskenmerken te verzenden. In dit geval wordt de waarde gebruikt om onderscheid te maken tussen deze drie use cases. De mogelijke waarden voor de grant_type zijn oob, wachtwoord, kenmerken. In deze aanroep, omdat we eenmalige wachtwoordcode verzenden, wordt verwacht dat de waarde oob is.
oob Ja De eenmalige wachtwoordcode die de klant heeft ontvangen in zijn e-mail. Vervang door de eenmalige wachtwoordcodewaarden die de klant in zijn e-mail heeft ontvangen. Als u een eenmalige wachtwoordcode opnieuw wilt verzenden, moet de app opnieuw een aanvraag naar het eindpunt indienen.

Zodra de app de eenmalige wachtwoordcode heeft ingediend, is de registratiestroom afhankelijk van de scenario's zoals weergegeven in de tabel:

Scenariobeschrijving Doorgaan
De app verzendt het wachtwoord van de gebruiker (voor e-mail met wachtwoordverificatiemethode) via het /signup/v1.0/start-eindpunt en er zijn geen kenmerken geconfigureerd in Microsoft Entra beheercentrum of alle vereiste gebruikerskenmerken worden verzonden via het /signup/v1.0/start-eindpunt. Microsoft Entra geeft een vervolgtoken uit. De app kan het vervolgtoken gebruiken om beveiligingstokens aan te vragen, zoals wordt weergegeven in Aanvraag voor beveiligingstokens.
De app verzendt het wachtwoord van de gebruiker (voor e-mail met wachtwoordverificatiemethode) via de /signup/v1.0/start, maar niet alle vereiste gebruikerskenmerken, Microsoft Entra de kenmerken aan die de app moet verzenden, zoals wordt weergegeven in gebruikerskenmerken vereist. De app moet de vereiste gebruikerskenmerken verzenden via het eindpunt. Het antwoord is vergelijkbaar met het antwoord in gebruikerskenmerken die vereist zijn. Verzend de gebruikerskenmerken die worden weergegeven in gebruikerskenmerken verzenden.
De app verzendt het wachtwoord van de gebruiker (voor e-mail met wachtwoordverificatiemethode) niet via eindpunt. Microsoft Entra antwoord geeft aan dat referentie is vereist. Zie het antwoord.
Dit antwoord is mogelijk voor e-mail met wachtwoordverificatiemethode.

Respons

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..."
} 
Vastgoed Beschrijving
error Een foutcodetekenreeks die kan worden gebruikt voor het classificeren van typen fouten en om te reageren op fouten.
error_description Een specifiek foutbericht waarmee u de oorzaak van een verificatiefout kunt identificeren.
error_codes Een lijst met Microsoft Entra-specifieke foutcodes waarmee u fouten kunt diagnosticeren.
timestamp Het tijdstip waarop de fout is opgetreden.
trace_id Een unieke id voor de aanvraag die u kan helpen bij het diagnosticeren van fouten.
correlation_id Een unieke id voor de aanvraag die kan helpen bij diagnostische gegevens over onderdelen.
continuation_token Continuation-token dat Microsoft Entra retourneert.
suberror Een foutcodetekenreeks die kan worden gebruikt voor het verder classificeren van typen fouten.

Hier volgen de mogelijke fouten die u kunt tegenkomen (mogelijke waarden van de eigenschap):

Foutwaarde Beschrijving
credential_required Verificatie is vereist voor het maken van accounts, dus u moet een aanroep uitvoeren naar het eindpunt om te bepalen welke referenties de gebruiker moet opgeven.
invalid_request Validatie van aanvraagparameter is mislukt, zoals een validatie van het vervolgtoken , of de aanvraag bevat geen parameter die de waarde van de client-id leeg of ongeldig is of de externe tenantbeheerder heeft geen e-mail OTP ingeschakeld voor alle tenantgebruikers.
invalid_grant Het toekenningstype dat is opgenomen in de aanvraag, is niet geldig of wordt ondersteund, of OTP-waarde is onjuist.
expired_token Het vervolgtoken dat in de aanvraag is opgenomen, is verlopen.

Als de foutparameter een waarde van invalid_grant heeft, bevat Microsoft Entra een eigenschap suberror in het antwoord. Hier volgen de mogelijke waarden van de eigenschap voor een invalid_grant fout:

Suberrorwaarde Beschrijving
invalid_oob_value De waarde van eenmalige wachtwoordcode is ongeldig.

Om de wachtwoordreferenties van de gebruiker te kunnen verzamelen, moet de app het eindpunt aanroepen om de referenties te bepalen die de gebruiker moet opgeven.

Hier volgt een voorbeeld van de aanvraag (we presenteren de voorbeeldaanvraag in meerdere regels voor leesbaarheid):

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…
Kenmerk Vereist Beschrijving
tenant_subdomain Ja Het subdomein van de externe tenant die u hebt gemaakt. Vervang in de URL door het subdomein Directory (tenant). Als het primaire domein van uw tenant bijvoorbeeld contoso.onmicrosoft.com is, gebruikt u contoso. Als u uw tenantsubdomein niet hebt, leest u de details van uw tenant.
client_id Ja De toepassings-id (client) van de app die u hebt geregistreerd in het Microsoft Entra-beheercentrum.
challenge_type Nee Een door spaties gescheiden lijst met tekenreeksen voor autorisatievraagtypen die door de app worden ondersteund, zoals . De lijst moet altijd het type uitdaging bevatten. Voor de e-mail met aanmeldingsstroom voor wachtwoorden wordt verwacht dat deze waarde bevat .
continuation_token Ja Continuation-token dat Microsoft Entra geretourneerd in de vorige aanvraag.

Geslaagd antwoord

Als het wachtwoord de verificatiemethode is die is geconfigureerd voor de gebruiker in het Microsoft Entra-beheercentrum, wordt een geslaagd antwoord met het vervolgtoken geretourneerd naar de app.

HTTP/1.1 200 OK
Content-Type: application/json
{
    "challenge_type": "password",
    "continuation_token": " AQABAAEAAAAty..."
}
Vastgoed Beschrijving
challenge_type het wachtwoord wordt geretourneerd in het antwoord voor de vereiste referentie.
continuation_token Continuation-token dat Microsoft Entra retourneert.

Antwoord omleiden

Als de client-app geen ondersteuning biedt voor de verificatiemethode of -mogelijkheden die Microsoft Entra vereist, is een terugval naar de webgebaseerde verificatiestroom nodig. In dit scenario informeert Microsoft Entra de app door een redirect-vraagtype in het antwoord te retourneren:

HTTP/1.1 200 OK
Content-Type: application/json
{     
    "challenge_type": "redirect" 
} 
Vastgoed Beschrijving
challenge_type Microsoft Entra retourneert een antwoord met een type uitdaging. De waarde van dit vraagtype is omleiding, waarmee de app de webverificatiestroom kan gebruiken.

Dit antwoord wordt als geslaagd beschouwd, maar de app is vereist om over te schakelen naar een webverificatiestroom. In dit geval raden we u aan een door Microsoft gebouwde en ondersteunde verificatiebibliotheek te gebruiken.

Stap 4: verifiëren en token ophalen om u te registreren

De app moet de referenties van de gebruiker indienen, in dit geval wachtwoord, dat Microsoft Entra aangevraagd in de vorige stap. De app moet een wachtwoordreferentie indienen als dit niet via het eindpunt is gedaan. De app doet een aanvraag naar het eindpunt om het wachtwoord in te dienen. Omdat we een wachtwoord indienen, is een parameter vereist en moet de parameter een waardewachtwoord hebben.

Hier volgt een voorbeeld van de aanvraag (we presenteren de voorbeeldaanvraag in meerdere regels voor leesbaarheid):

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}
Kenmerk Vereist Beschrijving
tenant_subdomain Ja Het subdomein van de externe tenant die u hebt gemaakt. Vervang in de URL door het subdomein Directory (tenant). Als het primaire domein van uw tenant bijvoorbeeld contoso.onmicrosoft.com is, gebruikt u contoso. Als u uw tenantsubdomein niet hebt, leest u de details van uw tenant.
continuation_token Ja Continuation-token dat Microsoft Entra geretourneerd in de vorige stap.
client_id Ja De toepassings-id (client) van de app die u hebt geregistreerd in het Microsoft Entra-beheercentrum.
grant_type Ja Een aanvraag naar het eindpunt kan worden gebruikt om eenmalige wachtwoordcode, wachtwoord of gebruikerskenmerken te verzenden. In dit geval wordt de waarde gebruikt om onderscheid te maken tussen deze drie use cases. De mogelijke waarden voor de grant_type zijn oob, wachtwoord, kenmerken. In deze aanroep, omdat we het wachtwoord van de gebruiker verzenden, is de waarde naar verwachting een wachtwoord.
password Ja De wachtwoordwaarde die de app verzamelt van de klantgebruiker. Vervang door de wachtwoordwaarde die de app verzamelt van de klantgebruiker. Het is uw verantwoordelijkheid om te bevestigen dat de gebruiker op de hoogte is van het wachtwoord dat ze willen gebruiken door het veld wachtwoord bevestigen in de gebruikersinterface van de app op te geven. U moet er ook voor zorgen dat de gebruiker op de hoogte is van wat een sterk wachtwoord is volgens het beleid van uw organisatie. Meer informatie over het wachtwoordbeleid van Microsoft Entra.

Geslaagd antwoord

Als de aanvraag is geslaagd, maar er geen kenmerken zijn geconfigureerd in Microsoft Entra beheercentrum of alle vereiste kenmerken zijn verzonden via het /signup/v1.0/start-eindpunt, krijgt de app een vervolgtoken zonder kenmerken in te dienen. De app kan het vervolgtoken gebruiken om beveiligingstokens aan te vragen, zoals wordt weergegeven in Aanvraag voor beveiligingstokens. Anders geeft Microsoft Entra antwoord aan dat de app vereiste kenmerken moet verzenden. Deze kenmerken, ingebouwd of aangepast, zijn geconfigureerd in het Microsoft Entra beheercentrum door de tenantbeheerder.

Gebruikerskenmerken vereist

Dit antwoord vraagt de app om waarden in te dienen voor de naam, *leeftijd en telefoonkenmerken .

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]*$"
            }
        }
    ],
}

Notitie

Aangepaste kenmerken (ook wel directory-extensies genoemd) worden genoemd met behulp van de conventie waarbij de stripped versie van de client-id voor de uitbreidings-app is. Als de client-id van de uitbreidings-app bijvoorbeeld is en de kenmerknaam hobby's is, wordt het aangepaste kenmerk benoemd als. Meer informatie over aangepaste kenmerken en extensie-app.

Vastgoed Beschrijving
error Dit kenmerk wordt ingesteld als Microsoft Entra het gebruikersaccount niet kan maken omdat een kenmerk moet worden geverifieerd of ingediend.
error_description Een specifiek foutbericht waarmee u de oorzaak van de fout kunt identificeren.
error_codes Een lijst met Microsoft Entra-specifieke foutcodes waarmee u fouten kunt diagnosticeren.
timestamp Het tijdstip waarop de fout is opgetreden.
trace_id Een unieke id voor de aanvraag die u kan helpen bij het diagnosticeren van fouten.
correlation_id Een unieke id voor de aanvraag die kan helpen bij diagnostische gegevens over onderdelen.
continuation_token Continuation-token dat Microsoft Entra retourneert.
required_attributes Een lijst (matrix met objecten) van kenmerken die de app nodig heeft om de volgende aanroep in te dienen om door te gaan. Deze kenmerken zijn de extra kenmerken die de app moet indienen, behalve de gebruikersnaam. Microsoft Entra deze parameter bevat, is het antwoord als de waarde van de parameter errorattributes_required is.

Hier volgen de mogelijke fouten die u kunt tegenkomen (mogelijke waarden van de eigenschap):

Foutwaarde Beschrijving
invalid_request Validatie van aanvraagparameter is mislukt, zoals een validatie van het vervolgtoken is mislukt of de aanvraag bevat geen parameter die de client-id-waarde leeg of ongeldig is.
invalid_grant Het toekenningstype dat is opgenomen in de aanvraag, is niet geldig of wordt ondersteund. De mogelijke waarden voor het zijn oob, wachtwoord, kenmerken
expired_token Het vervolgtoken dat in de aanvraag is opgenomen, is verlopen.
attributes_required Een of meer gebruikerskenmerken zijn vereist.

Antwoord omleiden

Als de client-app geen ondersteuning biedt voor de verificatiemethode of -mogelijkheden die Microsoft Entra vereist, is een terugval naar de webgebaseerde verificatiestroom nodig. In dit scenario informeert Microsoft Entra de app door een redirect-vraagtype in het antwoord te retourneren:

HTTP/1.1 200 OK
Content-Type: application/json
{     
   "challenge_type": "redirect" 
} 
Vastgoed Beschrijving
challenge_type Microsoft Entra retourneert een antwoord met een type uitdaging. De waarde van dit vraagtype is omleiding, waarmee de app de webverificatiestroom kan gebruiken.

Dit antwoord wordt als geslaagd beschouwd, maar de app is vereist om over te schakelen naar een webverificatiestroom. In dit geval raden we u aan een door Microsoft gebouwde en ondersteunde verificatiebibliotheek te gebruiken.

Foutrespons

Voorbeeld:

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"
}
Vastgoed Beschrijving
error Een foutcodetekenreeks die kan worden gebruikt voor het classificeren van typen fouten en om te reageren op fouten.
error_description Een specifiek foutbericht waarmee u de oorzaak van een verificatiefout kunt identificeren.
error_codes Een lijst met Microsoft Entra-specifieke foutcodes waarmee u fouten kunt diagnosticeren.
timestamp Het tijdstip waarop de fout is opgetreden.
trace_id Een unieke id voor de aanvraag die u kan helpen bij het diagnosticeren van fouten.
correlation_id Een unieke id voor de aanvraag die kan helpen bij diagnostische gegevens over onderdelen.
suberror Een foutcodetekenreeks die kan worden gebruikt voor het verder classificeren van typen fouten.

Hier volgen de mogelijke fouten die u kunt tegenkomen (mogelijke waarden van de eigenschap):

Foutwaarde Beschrijving
invalid_request Validatie van aanvraagparameters is mislukt, bijvoorbeeld wanneer de parameter een ongeldig uitdagingstype bevat.
invalid_grant De ingediende subsidie is ongeldig, zoals het ingediende wachtwoord is te kort. Gebruik de eigenschap om de exacte oorzaak van de fout te leren.
expired_token Het vervolgtoken is verlopen.
attributes_required Een of meer gebruikerskenmerken zijn vereist.

Als de foutparameter een waarde van invalid_grant heeft, bevat Microsoft Entra een eigenschap suberror in het antwoord. Dit zijn de mogelijke waarden van de eigenschap:

Suberrorwaarde Beschrijving
password_too_weak Het wachtwoord is te zwak omdat het niet voldoet aan de complexiteitsvereisten. Meer informatie over het wachtwoordbeleid van Microsoft Entra.
password_too_short Nieuw wachtwoord is minder dan 8 tekens. Meer informatie over het wachtwoordbeleid van Microsoft Entra.
password_too_long Nieuw wachtwoord is langer dan 256 tekens. Meer informatie over het wachtwoordbeleid van Microsoft Entra.
password_recently_used Het nieuwe wachtwoord mag niet hetzelfde zijn als het wachtwoord dat onlangs is gebruikt. Meer informatie over het wachtwoordbeleid van Microsoft Entra.
password_banned Nieuw wachtwoord bevat een woord, woordgroep of patroon dat wordt verboden. Meer informatie over het wachtwoordbeleid van Microsoft Entra.
password_is_invalid Het wachtwoord is ongeldig, bijvoorbeeld omdat er niet-toegestane tekens worden gebruikt. Meer informatie over het wachtwoordbeleid van Microsoft Entra. Dit antwoord is mogelijk als de app een gebruikerswachtwoord indient.

Gebruikerskenmerken verzenden

Om door te gaan met de stroom, moet de app het eindpunt aanroepen om de vereiste gebruikerskenmerken in te dienen. Omdat we kenmerken verzenden, is een parameter vereist en moet de parameter een waarde hebben die gelijk is aan kenmerken.

Hier volgt een voorbeeld van de aanvraag (we presenteren de voorbeeldaanvraag in meerdere regels voor leesbaarheid):

POST https://{tenant_subdomain}.ciamlogin.com/{tenant_subdomain}.onmicrosoft.com/signup/v1.0/continue
Content-Type: application/x-www-form-urlencoded
&client_id=00001111-aaaa-2222-bbbb-3333cccc4444 
&grant_type=attributes 
&attributes={"displayName": "{given_name}", "extension_2588abcdwhtfeehjjeeqwertc_age": "{user_age}", "postaCode": "{postal_code}"}
&continuation_token=AQABAAEAAAAtn...
Kenmerk Vereist Beschrijving
tenant_subdomain Ja Het subdomein van de externe tenant die u hebt gemaakt. Vervang in de URL door het subdomein Directory (tenant). Als het primaire domein van uw tenant bijvoorbeeld contoso.onmicrosoft.com is, gebruikt u contoso. Als u uw tenantsubdomein niet hebt, leest u de details van uw tenant.
continuation_token Ja Continuation-token dat Microsoft Entra geretourneerd in de vorige aanvraag.
client_id Ja De toepassings-id (client) van de app die u hebt geregistreerd in het Microsoft Entra-beheercentrum.
grant_type Ja Een aanvraag naar het eindpunt kan worden gebruikt om eenmalige wachtwoordcode, wachtwoord of gebruikerskenmerken te verzenden. In dit geval wordt de waarde gebruikt om onderscheid te maken tussen deze drie use cases. De mogelijke waarden voor de grant_type zijn oob, wachtwoord, kenmerken. In deze aanroep, omdat we gebruikerskenmerken verzenden, wordt verwacht dat de waarde kenmerken zijn.
attributes Ja De gebruikerskenmerkwaarden die de app verzamelt van de klantgebruiker. De waarde is een tekenreeks, maar opgemaakt als een JSON-object waarvan de sleutelwaarden de namen van gebruikerskenmerken zijn, ingebouwd of aangepast. De sleutelnamen van het object zijn afhankelijk van de kenmerken die de beheerder heeft geconfigureerd in Microsoft Entra beheercentrum. Vervang respectievelijk de naam, leeftijd en postcode die door de app worden verzameld van de klantgebruiker. Microsoft Entra negeert alle kenmerken die u verzendt, die niet bestaan.

Geslaagd antwoord

Als de aanvraag is geslaagd, Microsoft Entra de gebruiker registreert, geeft u vervolgens een vervolgtoken uit. De app kan het vervolgtoken gebruiken om beveiligingstokens van het eindpunt aan te vragen.

HTTP/1.1 200 OK
Content-Type: application/json
{  
    "continuation_token": "AQABAAEAAAYn..."
} 
Vastgoed Beschrijving
continuation_token Continuation-token dat Microsoft Entra retourneert.

Antwoord omleiden

Als de client-app geen ondersteuning biedt voor de verificatiemethode of -mogelijkheden die Microsoft Entra vereist, is een terugval naar de webgebaseerde verificatiestroom nodig. In dit scenario informeert Microsoft Entra de app door een redirect-vraagtype in het antwoord te retourneren:

HTTP/1.1 200 OK
Content-Type: application/json
{     
   "challenge_type": "redirect" 
} 
Vastgoed Beschrijving
challenge_type Microsoft Entra retourneert een antwoord met een type uitdaging. De waarde van dit vraagtype is omleiding, waarmee de app de webverificatiestroom kan gebruiken.

Dit antwoord wordt als geslaagd beschouwd, maar de app is vereist om over te schakelen naar een webverificatiestroom. In dit geval raden we u aan een door Microsoft gebouwde en ondersteunde verificatiebibliotheek te gebruiken.

Foutrespons

Voorbeeld:

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" 
}
Vastgoed Beschrijving
error Een foutcodetekenreeks die kan worden gebruikt voor het classificeren van typen fouten en om te reageren op fouten.
error_description Een specifiek foutbericht waarmee u de oorzaak van een verificatiefout kunt identificeren.
error_codes Een lijst met Microsoft Entra-specifieke foutcodes waarmee u fouten kunt diagnosticeren.
timestamp Het tijdstip waarop de fout is opgetreden.
trace_id Een unieke id voor de aanvraag die u kan helpen bij het diagnosticeren van fouten.
correlation_id Een unieke id voor de aanvraag die kan helpen bij diagnostische gegevens over onderdelen.
continuation_token Continuation-token dat Microsoft Entra retourneert.
unverified_attributes Een lijst (matrix met objecten) van kenmerksleutelnamen die moeten worden geverifieerd. Deze parameter wordt opgenomen in het antwoord wanneer de waarde van de parameter wordt verification_required.
required_attributes Een lijst (matrix met objecten) van kenmerken die de app moet verzenden. Microsoft Entra bevat deze parameter in het antwoord wanneer de waarde van de parameter errorattributes_required is.
invalid_attributes Een lijst (matrix met objecten) van kenmerken waarvoor de validatie is mislukt. Deze parameter wordt opgenomen in het antwoord wanneer de waarde van de eigenschap attribute_validation_failed.
suberror Een foutcodetekenreeks die kan worden gebruikt voor het verder classificeren van typen fouten.

Hier volgen de mogelijke fouten die u kunt tegenkomen (mogelijke waarden van de eigenschap):

Foutwaarde Beschrijving
invalid_request Validatie van aanvraagparameter is mislukt, zoals een validatie van het vervolgtoken is mislukt of de aanvraag bevat geen parameter die de client-id-waarde leeg of ongeldig is.
invalid_grant Het opgegeven toekenningstype is ongeldig of wordt niet ondersteund of mislukt, zoals validatie van kenmerken is mislukt. Gebruik de eigenschap om de exacte oorzaak van de fout te leren.
expired_token Het vervolgtoken dat in de aanvraag is opgenomen, is verlopen.
attributes_required Een of meer gebruikerskenmerken zijn vereist.

Als de foutparameter een waarde van invalid_grant heeft, bevat Microsoft Entra een eigenschap suberror in het antwoord. Hier volgen de mogelijke waarden van de eigenschap voor een invalid_grant fout:

Suberrorwaarde Beschrijving
attribute_validation_failed Validatie van gebruikerskenmerk is mislukt. parameter bevat de lijst (matrix met objecten) van kenmerken die de validatie is mislukt.

Stap 5: Automatisch aanmelden na registratie

Als de gebruiker zich automatisch moet aanmelden na aanmelding, doet de app een POST-aanvraag naar het eindpunt en geeft het vervolgtoken op dat is verkregen uit de vorige stap om beveiligingstokens te verkrijgen. Meer informatie over het aanroepen van het tokeneindpunt.

Gebruikerskenmerken verzenden naar eindpunten

In het Microsoft Entra-beheercentrum kunt u gebruikerskenmerken configureren als vereist of optioneel. Deze configuratie bepaalt hoe Microsoft Entra reageert wanneer u een aanroep naar de eindpunten uitvoert. Optionele kenmerken zijn niet verplicht om de registratiestroom te voltooien. Als alle kenmerken optioneel zijn, moeten ze daarom worden ingediend voordat de gebruikersnaam wordt geverifieerd. Anders wordt de registratie voltooid zonder de optionele kenmerken.

De volgende tabel geeft een overzicht van wanneer het mogelijk is om gebruikerskenmerken naar Microsoft Entra eindpunten te verzenden.

Eindpunt Vereiste kenmerken Optionele kenmerken Zowel vereiste als optionele kenmerken
Eindpunt Ja Ja Ja
eindpunt vóór verificatie van gebruikersnaam Ja Ja Ja
eindpunt na verificatie van gebruikersnaam Ja Nee Ja

Indeling van waarden voor gebruikerskenmerken

U geeft de gegevens op die u van de gebruiker wilt verzamelen door de instellingen voor de gebruikersstroom in het Microsoft Entra-beheercentrum te configureren. Gebruik het artikel Aangepaste gebruikerskenmerken verzamelen tijdens het registratieartikel voor informatie over het verzamelen van waarden voor zowel ingebouwde als aangepaste kenmerken.

U kunt ook het gebruikersinvoertype opgeven voor de kenmerken die u configureert. De volgende tabel bevat een overzicht van ondersteunde typen gebruikersinvoer en het verzenden van waarden die door de besturingselementen van de gebruikersinterface zijn verzameld voor Microsoft Entra.

Invoertype gebruiker Notatie van ingediende waarden
Tekstvak  Eén waarde, zoals functie, Software Engineer.
SingleRadioSelect Eén waarde, zoals Taal, Noors. 
SelectievakjeMultiSelect Een of meerdere waarden zoals hobby of hobby's, Dansen of Dansen, Zwemmen, Reizen.

Hier volgt een voorbeeldaanvraag die laat zien hoe u de waarden van de kenmerken verzendt:

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...

Meer informatie over invoertypen voor gebruikerskenmerken in het artikel Invoertypen voor aangepaste gebruikerskenmerken.

Verwijzen naar gebruikerskenmerken

Wanneer u een gebruikersstroom voor registratie maakt, configureert u gebruikerskenmerken die u tijdens de registratie van de gebruiker wilt verzamelen. De namen van de gebruikerskenmerken in het Microsoft Entra-beheercentrum verschillen van de manier waarop u ernaar verwijst in de systeemeigen verificatie-API.

Display Name in het Microsoft Entra-beheercentrum verwijst bijvoorbeeld naar displayName in de API.

Gebruik het artikel Gebruikersprofielkenmerken voor meer informatie over het verwijzen naar ingebouwde en aangepaste gebruikerskenmerken in de systeemeigen verificatie-API.

API-referentie voor inlogflow

Gebruikers moeten zich aanmelden met de verificatiemethode die ze gebruiken om zich te registreren. Gebruikers die zich bijvoorbeeld registreren met e-mail met wachtwoordverificatiemethode, moeten zich aanmelden bij e-mail en wachtwoord.

Als u beveiligingstokens wilt aanvragen, communiceert uw app met drie eindpunten, , , en optioneel .

API-eindpunten voor aanmelden

Eindpunt Beschrijving
oauth/v2.0/initiate Met dit eindpunt wordt de aanmeldingsstroom gestart. Als uw app deze aanroept met een gebruikersnaam van een gebruikersaccount dat al bestaat, retourneert deze een geslaagd antwoord met een vervolgtoken. Als uw app vraagt om verificatiemethoden te gebruiken die niet worden ondersteund door Microsoft Entra, kan dit eindpuntantwoord aangeven dat uw app een browsergebaseerde verificatiestroom moet gebruiken.
oauth/v2.0/challenge Uw app roept dit eindpunt aan om Microsoft Entra aan te vragen om een van de ondersteunde aantekeningsvraagtypen te selecteren waarmee de gebruiker zich kan verifiëren. Waar de tenantbeheerder MFA afdwingt voor klantgebruikers, roept uw app dit eindpunt aan om de gebruiker uit te dagen voor de tweede factor authentication-methode.
oauth/v2.0/token Dit eindpunt controleert de referenties van de gebruiker die het ontvangt van uw app en geeft vervolgens beveiligingstokens uit aan uw app. Een antwoord van dit eindpunt kan ook aangeven of de gebruiker een MFA-uitdaging moet voltooien of een sterke verificatiemethode moet registreren.
oauth/v2.0/introspect Uw app roept deze aan om een lijst met geregistreerde sterke verificatiemethoden voor meervoudige verificatie (MFA) aan te vragen. Meer informatie over het gebruik van het introspect-eindpunt

Typen aanmeldingsuitdaging

Met de API kan de app de verificatiemethoden adverteren die door de app worden ondersteund, wanneer deze een aanroep naar Microsoft Entra doet. Hiervoor gebruikt de app de parameter in de aanvragen. Deze parameter bevat vooraf gedefinieerde waarden, die verschillende verificatiemethoden vertegenwoordigen.

Voor een bepaalde verificatiemethode zijn de waarden voor het uitdagingstype die een app verzendt naar Microsoft Entra tijdens de registratiestroom hetzelfde als wanneer de app zich aanmeldt. De e-mail met wachtwoordverificatiemethode maakt bijvoorbeeld gebruik van oob-, wachtwoord - en omleidingstypewaarden voor registratie- en aanmeldingsstromen.

Meer informatie over uitdagingstypen in het artikel met systeemeigen verificatievraagtypen .

Details van aanmeldingsstroomprotocol

Het sequentiediagram toont de stroom van het aanmeldingsproces. De aanmeldingsstroom is afhankelijk van de verificatiemethode van de gebruiker.

  • Eenmalige wachtwoordcode per e-mail verzenden
  • E-mail met wachtwoord

Diagram van systeemeigen verificatie-aanmelding met eenmalige wachtwoordcode voor e-mail.

Nadat de app het e-mailadres van de gebruiker met OTP heeft geverifieerd, ontvangt deze beveiligingstokens. Als de bezorging van de eenmalige wachtwoordcode vertraging optreedt of nooit wordt bezorgd bij het e-mailadres van de gebruiker, kan de gebruiker een andere eenmalige wachtwoordcode aanvragen. Microsoft Entra een andere eenmalige wachtwoordcode opnieuw verzendt als de vorige niet is geverifieerd. Wanneer Microsoft Entra een eenmalige wachtwoordcode opnieuw verzendt, wordt de eerder verzonden code ongeldig gemaakt.

In de volgende secties wordt de aanmeldingsstroom samengevat in drie basisstappen.

Stap 1: Aanvraag om de aanmeldingsstroom te starten

De verificatiestroom begint met het indienen van een POST-aanvraag naar het eindpunt om de aanmeldingsstroom te starten.

Hier volgt een voorbeeld van de aanvraag (we presenteren de voorbeeldaanvraag in meerdere regels voor leesbaarheid):

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
Kenmerk Vereist Beschrijving
tenant_subdomain Ja Het subdomein van de externe tenant die u hebt gemaakt. Vervang in de URL door het subdomein Directory (tenant). Als het primaire domein van uw tenant bijvoorbeeld contoso.onmicrosoft.com is, gebruikt u contoso. Als u uw tenantsubdomein niet hebt, leest u de details van uw tenant.
client_id Ja De toepassings-id (client) van de app die u hebt geregistreerd in het Microsoft Entra-beheercentrum.
username Ja E-mail van de klantgebruiker, zoals .
challenge_type Ja Een door spaties gescheiden lijst met tekenreeksen voor autorisatievraagtypen die door de app worden ondersteund, zoals . De lijst moet altijd het type uitdaging bevatten. De waarde wordt verwacht voor eenmalige wachtwoordcode voor e-mail en voor e-mail met wachtwoord.
capabilities Nee Door ruimte gescheiden vlaggen die de gereedheid van de client-app beschrijven. Hoewel wordt gedefinieerd welke methoden kunnen worden aangeroepen, vertelt u de systeemeigen verificatie-API die extra stromen door de client-app kan verwerken en welke UIS's deze kunnen weergeven. Betekent bijvoorbeeld , en lus; betekent dat de client-app registratie-API's aanroept en de gebruikersinterface voor registratie weergeeft. Als de benodigde mogelijkheid niet is opgenomen in de client-app, retourneert de API omleiding. Ondersteunde waarden zijn en . Meer informatie over mogelijkheden.

Geslaagd antwoord

Hier volgt een voorbeeld van een geslaagd antwoord:

HTTP/1.1 200 OK
Content-Type: application/json
{
    "continuation_token": "uY29tL2F1dGhlbnRpY..."
}
Vastgoed Beschrijving
continuation_token Continuation-token dat Microsoft Entra retourneert.

Antwoord omleiden

Als de client-app geen ondersteuning biedt voor de verificatiemethode of -mogelijkheden die Microsoft Entra vereist, is een terugval naar de webgebaseerde verificatiestroom nodig. In dit scenario informeert Microsoft Entra de app door een redirect-vraagtype in het antwoord te retourneren:

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

{     
   "challenge_type": "redirect" 
} 
Vastgoed Beschrijving
challenge_type Microsoft Entra retourneert een antwoord met een type uitdaging. De waarde van dit vraagtype is omleiding, waarmee de app de webverificatiestroom kan gebruiken.

Dit antwoord wordt als geslaagd beschouwd, maar de app is vereist om over te schakelen naar een webverificatiestroom. In dit geval raden we u aan een door Microsoft gebouwde en ondersteunde verificatiebibliotheek te gebruiken.

Foutrespons

Voorbeeld:

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"
} 
Vastgoed Beschrijving
error Een foutcodetekenreeks die kan worden gebruikt voor het classificeren van typen fouten en om te reageren op fouten.
error_description Een specifiek foutbericht waarmee u de oorzaak van een verificatiefout kunt identificeren.
error_codes Een lijst met Microsoft Entra-specifieke foutcodes waarmee u fouten kunt diagnosticeren.
timestamp Het tijdstip waarop de fout is opgetreden.
trace_id Een unieke id voor de aanvraag die u kan helpen bij het diagnosticeren van fouten.
correlation_id Een unieke id voor de aanvraag die kan helpen bij diagnostische gegevens over onderdelen.

Hier volgen de mogelijke fouten die u kunt tegenkomen (mogelijke waarden van de eigenschap):

Foutwaarde Beschrijving
invalid_request Validatie van aanvraagparameters is mislukt, bijvoorbeeld wanneer de parameter een ongeldig uitdagingstype bevat. of de aanvraag bevat geen parameter die de waarde van de client-id leeg of ongeldig is. Gebruik de parameter om de exacte oorzaak van de fout te leren.
unauthorized_client De client-id die in de aanvraag wordt gebruikt, heeft een geldige client-id-indeling, maar bestaat niet in de externe tenant of is onjuist.
invalid_client De client-id die de app in de aanvraag opneemt, is voor een app die geen systeemeigen verificatieconfiguratie heeft, zoals het geen openbare client is of niet is ingeschakeld voor systeemeigen verificatie. Gebruik de eigenschap om de exacte oorzaak van de fout te leren.
user_not_found De gebruikersnaam bestaat niet.
unsupported_challenge_type De parameterwaarde bevat niet het vraagtype.

Als de foutparameter een waarde van invalid_client heeft, bevat Microsoft Entra een eigenschap suberror in het antwoord. Hier volgen de mogelijke waarden van de eigenschap voor een invalid_client fout:

Suberrorwaarde Beschrijving
nativeauthapi_disabled De client-id voor een app die niet is ingeschakeld voor systeemeigen verificatie.

Stap 2: Een verificatiemethode selecteren

Om door te gaan met de stroom, gebruikt de app het vervolgtoken dat wordt verkregen uit de vorige stap om Microsoft Entra aan te vragen om een van de ondersteunde uitdagingstypen te selecteren voor de gebruiker om een MFA-uitdaging te verifiëren of te voltooien. De app doet een POST-aanvraag naar het eindpunt.

Hier volgt een voorbeeld van de aanvraag (we presenteren de voorbeeldaanvraag in meerdere regels voor leesbaarheid):

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... 
Kenmerk Vereist Beschrijving
tenant_subdomain Ja Het subdomein van de externe tenant die u hebt gemaakt. Vervang in de URL door het subdomein Directory (tenant). Als het primaire domein van uw tenant bijvoorbeeld contoso.onmicrosoft.com is, gebruikt u contoso. Als u uw tenantsubdomein niet hebt, leest u de details van uw tenant.
client_id Ja De toepassings-id (client) van de app die u hebt geregistreerd in het Microsoft Entra-beheercentrum.
continuation_token Ja Continuation-token dat Microsoft Entra geretourneerd in de vorige aanvraag. Met de vorige aanvraag wordt het eindpunt of het eindpunt aanroepen als de gebruiker een MFA-uitdaging heeft voltooid.
challenge_type Nee Een door spaties gescheiden lijst met tekenreeksen voor autorisatievraagtypen die door de app worden ondersteund, zoals . De lijst moet altijd het type uitdaging bevatten. De waarde wordt verwacht voor eenmalige wachtwoordcode voor e-mail en voor e-mail met wachtwoord.
id Nee De tekenreeks-id van de sterke verificatiemethode die wordt geretourneerd vanuit het eindpunt. Deze parameter is vereist wanneer de client-app de gebruiker uitdagt voor een tweede factor authentication. Meer informatie over het gebruik van het introspect-eindpunt.

Geslaagd antwoord

Het antwoord op succes is afhankelijk van de verificatiemethode van de gebruiker.

  • Eenmalige wachtwoordcode per e-mail verzenden
  • E-mail met wachtwoord

Als de tenantbeheerder eenmalige wachtwoordcode heeft geconfigureerd in het Microsoft Entra-beheercentrum als verificatiemethode van de gebruiker, stuurt Microsoft Entra een eenmalige wachtwoordcode naar de e-mail van de gebruiker en reageert deze met een uitdagingstype oob en biedt meer informatie over de eenmalige wachtwoordcode.

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
} 
Vastgoed Beschrijving
continuation_token Continuation-token dat Microsoft Entra retourneert.
challenge_type Het type uitdaging waarmee de gebruiker zich kan verifiëren.
binding_method De enige geldige waarde is een prompt. Deze parameter kan in de toekomst worden gebruikt om de gebruiker meer manieren te bieden om de eenmalige wachtwoordcode in te voeren. Uitgegeven als oob is
challenge_channel Het type kanaal waarmee de eenmalige wachtwoordcode is verzonden. Op dit moment ondersteunen we e-mail.
challenge_target_label Een verborgen e-mail waar de eenmalige wachtwoordcode is verzonden.
code_length De lengte van de eenmalige wachtwoordcode die Microsoft Entra genereert.

Antwoord omleiden

In de volgende scenario's kan een terugval naar een webgebaseerde verificatiestroom nodig zijn:

  • De client-app biedt geen ondersteuning voor de verificatiemethode of -mogelijkheden die Microsoft Entra vereist.
  • De gebruiker probeert sms te gebruiken als een sterke verificatiemethode, maar fraudebeveiliging blokkeert de aanvraag als deze als hoog risico beschouwt (alleen in e-mail met wachtwoordverificatie).

In deze scenario's informeert Microsoft Entra de app door een redirect vraagtype in het antwoord te retourneren:

HTTP/1.1 200 OK
Content-Type: application/json
{     
   "challenge_type": "redirect" 
} 
Vastgoed Beschrijving
challenge_type Microsoft Entra retourneert een antwoord met een type uitdaging. De waarde van dit vraagtype is omleiding, waarmee de app de webverificatiestroom kan gebruiken.

Dit antwoord wordt als geslaagd beschouwd, maar de app is vereist om over te schakelen naar een webverificatiestroom. In dit geval raden we u aan een door Microsoft gebouwde en ondersteunde verificatiebibliotheek te gebruiken.

Foutrespons

Voorbeeld:

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"
} 
Vastgoed Beschrijving
error Een foutcodetekenreeks die kan worden gebruikt voor het classificeren van typen fouten en om te reageren op fouten.
error_description Een specifiek foutbericht waarmee u de oorzaak van een verificatiefout kunt identificeren.
error_codes Een lijst met Microsoft Entra-specifieke foutcodes waarmee u fouten kunt diagnosticeren.
timestamp Het tijdstip waarop de fout is opgetreden.
trace_id Een unieke id voor de aanvraag die u kan helpen bij het diagnosticeren van fouten.
correlation_id Een unieke id voor de aanvraag die kan helpen bij diagnostische gegevens over onderdelen.

Hier volgen de mogelijke fouten die u kunt tegenkomen (mogelijke waarden van de eigenschap):

Foutwaarde Beschrijving
invalid_request Validatie van aanvraagparameters is mislukt, bijvoorbeeld wanneer de parameter een ongeldig uitdagingstype bevat.
invalid_grant Het vervolgtoken dat in de aanvraag is opgenomen, is niet geldig.
expired_token Het vervolgtoken dat in de aanvraag is opgenomen, is verlopen.
unsupported_challenge_type De parameterwaarde bevat niet het vraagtype.

Stap 3: Aanvragen voor beveiligingstokens

De app doet een POST-aanvraag naar het eindpunt en verstrekt de referenties van de gebruiker die in de vorige stap zijn gekozen om beveiligingstokens te verkrijgen.

Hier volgt een voorbeeld van de aanvraag (we presenteren de voorbeeldaanvraag in meerdere regels voor leesbaarheid):

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 
Kenmerk Vereist Beschrijving
tenant_subdomain Ja Het subdomein van de externe tenant die u hebt gemaakt. Vervang in de URL door het subdomein Directory (tenant). Als het primaire domein van uw tenant bijvoorbeeld contoso.onmicrosoft.com is, gebruikt u contoso. Als u uw tenantsubdomein niet hebt, leest u de details van uw tenant.
client_id Ja De toepassings-id (client) van de app die u hebt geregistreerd in het Microsoft Entra-beheercentrum.
continuation_token Ja Continuation-token dat Microsoft Entra geretourneerd in de vorige aanvraag.
grant_type Ja Het toekenningstype. Wanneer u het tokeneindpunt aanroept, moet deze waarde het volgende zijn: wachtwoord voor e-mail met wachtwoordverificatiemethode in een aanmeldingsstroom om de eerste factor verificatie van de gebruiker te verifiëren. oob voor eenmalige verificatiemethode voor wachtwoordcode per e-mail in een aanmeldingsstroom. continuation_token voor automatische aanmelding na een registratiestroom. continuation_token voor automatische aanmelding na de selfservice voor wachtwoordherstel. continuation_token na een sterke registratiestroom voor verificatiemethoden. mfa_oob bij het verifiëren van de tweede factor-verificatie van de gebruiker.
scope Ja Een door spaties gescheiden lijst van bereiken. Alle bereiken moeten afkomstig zijn van één resource, samen met OIDC-bereiken (OpenID Connect), zoals profiel, openid en e-mail. De app moet openid bereik bevatten voor Microsoft Entra om een id-token uit te geven. De app moet offline_access bereik bevatten voor Microsoft Entra om een vernieuwingstoken uit te geven. Meer informatie over machtigingen en toestemming in het Microsoft Identity Platform.
password Nee De wachtwoordwaarde die de app van de gebruiker verzamelt. Vervang door de wachtwoordwaarde die de app van de gebruiker verzamelt. Deze parameter is vereist als de verificatiemethode e-mail is met een wachtwoord.
oob Nee De eenmalige wachtwoordcode die de gebruiker per e-mail ontvangt. Vereist als: - De primaire verificatiemethode is een eenmalige wachtwoordcode voor e-mail. - De app verzendt de eenmalige wachtwoordcode van de e-mail om te voldoen aan een MFA-uitdaging wanneer de primaire verificatiemethode e-mail met wachtwoord is. Als u een eenmalige wachtwoordcode opnieuw wilt verzenden, roept u het eindpunt opnieuw aan.
username Nee E-mail van de gebruiker waarmee ze zich willen registreren, zoals . Deze parameter is vereist in een registratiestroom.

Succesvolle respons

Hier volgt een voorbeeld van een geslaagd antwoord:

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..."
}
Vastgoed Beschrijving
token_type Geeft de waarde van het tokentype aan. Het enige type dat Microsoft Entra ondersteunt, is Bearer.
scopes Een door spaties gescheiden lijst met bereiken waarvoor het toegangstoken geldig is.
expires_in De tijdsduur in seconden blijft het toegangstoken geldig.
access_token Het toegangstoken dat de app heeft aangevraagd vanuit het eindpunt. De app kan dit toegangstoken gebruiken om toegang aan te vragen tot beveiligde resources, zoals web-API's.
refresh_token Een OAuth 2.0-vernieuwingstoken. De app kan dit token gebruiken om andere toegangstokens te verkrijgen nadat het huidige toegangstoken is verlopen. Vernieuwingstokens hebben een lange levensduur. Ze kunnen de toegang tot resources gedurende langere perioden behouden. Raadpleeg het toegangstoken vernieuwen voor meer informatie over het vernieuwen van een toegangstoken.
Opmerking: Alleen uitgegeven als u offline_access bereik aanvraagt.
id_token Een JSON-webtoken (Jwt) dat wordt gebruikt om de gebruiker te identificeren. De app kan het token decoderen om informatie op te vragen over de gebruiker die zich heeft aangemeld. De app kan de waarden in de cache opslaan en weergeven, en vertrouwelijke clients kunnen dit token gebruiken voor autorisatie. Zie id-tokens in het Microsoft Identity Platform voor meer informatie over id-tokens.
Opmerking: Alleen uitgegeven als u openid-bereik aanvraagt.

Foutrespons

Voorbeeld:

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"
} 
Vastgoed Beschrijving
error Een foutcodetekenreeks die kan worden gebruikt om typen fouten te classificeren en te reageren op fouten.
error_description Een specifiek foutbericht waarmee u de oorzaak van een verificatiefout kunt identificeren.
error_codes Een lijst met Microsoft Entra-specifieke foutcodes waarmee u fouten kunt diagnosticeren.
timestamp Het tijdstip waarop de fout is opgetreden.
trace_id Een unieke id voor de aanvraag die u kan helpen bij het diagnosticeren van fouten.
correlation_id Een unieke id voor de aanvraag die kan helpen bij diagnostische gegevens over onderdelen.

Hier volgen de mogelijke fouten die u kunt tegenkomen (mogelijke waarden van de eigenschap):

Foutwaarde Beschrijving
invalid_request Validatie van aanvraagparameter is mislukt. Als u wilt weten wat er is gebeurd, gebruikt u het bericht in de foutbeschrijving.
invalid_grant Het vervolgtoken dat is opgenomen in de aanvraag is niet geldig, aanmeldingsreferenties van gebruikers die zijn opgenomen in de aanvraag, zijn ongeldig, verdere interactie vereist van de gebruiker of het toekenningstype dat in de aanvraag is opgenomen, is onbekend.
invalid_client De client-id die in de aanvraag is opgenomen, is niet voor een openbare client.
expired_token Het vervolgtoken dat in de aanvraag is opgenomen, is verlopen.
invalid_scope Een of meer van de bereiken in de aanvraag zijn ongeldig.
unauthorized_client De client-id die in de aanvraag is opgenomen, is ongeldig of bestaat niet.
unsupported_grant_type Het toekenningstype dat is opgenomen in de aanvraag, wordt niet ondersteund of is onjuist.

Als de foutparameter een waarde van invalid_grant heeft, bevat Microsoft Entra een eigenschap suberror in het antwoord. Hier volgen de mogelijke waarden van de eigenschap voor een invalid_grant fout:

Suberrorwaarde Beschrijving
invalid_oob_value De waarde van eenmalige wachtwoordcode die door de app wordt verzonden, is ongeldig.
mfa_required MFA is vereist. Het antwoord bevat een vervolgtoken. Roep het eindpunt aan om de geregistreerde sterke verificatiemethoden van de gebruiker op te halen. Deze suberror treedt alleen op wanneer de primaire verificatiemethode van de gebruiker e-mail is met een wachtwoord. Lees hoe u de geregistreerde sterke verificatiemethoden van een gebruiker kunt ophalen.

Opmerking: In sommige gevallen is MFA vereist, maar systeemeigen verificatie wordt niet geretourneerd . of als een sterke verificatiemethoderegistratiestroom voorafgaat aan een aanroep naar de en de enige beschikbare methode (e-mail) is al geverifieerd tijdens die stroom.
registration_required De gebruiker moet een MFA-uitdaging voltooien, maar heeft geen geregistreerde sterke verificatiemethode. Vraag de gebruiker om er een te registreren. Deze fout treedt op wanneer de primaire verificatiemethode van de gebruiker e-mail met een wachtwoord is. Meer informatie over het registreren van een sterke verificatiemethode.

Antwoord omleiden

Als de client-app geen ondersteuning biedt voor de verificatiemethode of mogelijkheid die Microsoft Entra vereist, is een terugval naar de webverificatiestroom nodig. In dit scenario informeert Microsoft Entra de app door een redirect vraagtype in het antwoord te retourneren:

HTTP/1.1 200 OK
Content-Type: application/json
{     
    "challenge_type": "redirect",
    "redirect_reason": "Client is missing registration_required capability"
} 
Vastgoed Beschrijving
challenge_type Microsoft Entra retourneert een antwoord met een type uitdaging. De waarde van dit vraagtype is omleiding, waarmee de app de webverificatiestroom kan gebruiken.
redirect_reason Een reden waarom een omleiding is vereist. Microsoft Entra detecteert bijvoorbeeld dat MFA of een registratie voor een sterke verificatiemethode vereist is, maar de app heeft deze mogelijkheden niet opgenomen in de aanvraag.

Dit antwoord wordt als geslaagd beschouwd, maar de app is vereist om over te schakelen naar een webverificatiestroom. In dit geval raden we u aan een door Microsoft gebouwde en ondersteunde verificatiebibliotheek te gebruiken.

Door de gebruiker geregistreerde sterke verificatiemethoden ophalen

Gebruik het eindpunt om de lijst met geregistreerde sterke verificatiemethoden van de gebruiker aan te vragen.

Hier volgt een voorbeeld van de aanvraag (we presenteren de voorbeeldaanvraag in meerdere regels voor leesbaarheid):

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
Kenmerk Vereist Beschrijving
tenant_subdomain Ja Het subdomein van de externe tenant die u hebt gemaakt. Vervang in de URL door het subdomein Directory (tenant). Als het primaire domein van uw tenant bijvoorbeeld contoso.onmicrosoft.com is, gebruikt u contoso. Als u uw tenantsubdomein niet hebt, leest u de details van uw tenant.
client_id Ja De toepassings-id (client) van de app die u hebt geregistreerd in het Microsoft Entra-beheercentrum.
continuation_token Ja Continuation-token dat Microsoft Entra geretourneerd in de vorige aanvraag.

Geslaagd antwoord

Voorbeeld:

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   
        }
    ]
}
Vastgoed Beschrijving
continuation_token Continuation-token dat Microsoft Entra retourneert.
methods Een lijst (met objecten) van door de gebruiker geregistreerde sterke verificatiemethoden.

Het MFA-methodeobject heeft de volgende eigenschappen:

Vastgoed Beschrijving
id Een automatisch gegenereerde unieke tekenreeks-id voor de MFA-methode. De app gebruikt deze tekenreeks als wanneer het eindpunt wordt aanroepen.
challenge_type Het type uitdaging dat is geselecteerd voor de gebruiker die moet worden gebruikt als de MFA-methode. Het huidige ondersteunde uitdagingstype is oob.
challenge_channel Het type kanaal waarnaar de MFA-methode wordt verzonden. Huidig ondersteund uitdagingskanaal is e-mail.
login_hint De hint voor de sterke verificatiemethode, zoals een verborgen e-mail.

Antwoord omleiden

Als de client-app geen ondersteuning biedt voor de verificatiemethode of -mogelijkheden die Microsoft Entra vereist, is een terugval naar de webgebaseerde verificatiestroom nodig. In dit scenario informeert Microsoft Entra de app door een redirect-vraagtype in het antwoord te retourneren:

HTTP/1.1 200 OK
Content-Type: application/json
{     
   "challenge_type": "redirect" 
} 

Foutrespons

Voorbeeld:

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"
} 
Vastgoed Beschrijving
error Een foutcodetekenreeks die kan worden gebruikt voor het classificeren van typen fouten en om te reageren op fouten.
error_description Een specifiek foutbericht waarmee u de oorzaak van een verificatiefout kunt identificeren.
error_codes Een lijst met Microsoft Entra-specifieke foutcodes waarmee u fouten kunt diagnosticeren.
timestamp Het tijdstip waarop de fout is opgetreden.
trace_id Een unieke id voor de aanvraag die u kan helpen bij het diagnosticeren van fouten.
correlation_id Een unieke id voor de aanvraag die kan helpen bij diagnostische gegevens over onderdelen.

Hier volgen de mogelijke fouten die u kunt tegenkomen (mogelijke waarden van de eigenschap):

Foutwaarde Beschrijving
invalid_request Validatie van aanvraagparameter is mislukt. Als u wilt weten wat er is gebeurd, gebruikt u het bericht in de foutbeschrijving.
invalid_client De client-id die in de aanvraag is opgenomen, is niet voor een openbare client.
expired_token Het vervolgtoken dat in de aanvraag is opgenomen, is verlopen.
server_error Er is iets misgegaan met de aanvraag.

Nadat de client-app een lijst met sterke verificatiemethoden heeft opgehaald die zijn geregistreerd voor de gebruiker, selecteert de gebruiker een methode die ze willen gebruiken om de MFA-uitdaging te voltooien. De stroom gaat vervolgens als volgt verder:

  1. De client-app roept de en bevat het vervolgtoken dat is verkregen van de en de MFA-methode van keuze:

    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... 
    
  2. Microsoft Entra verzendt een uitdagingscode naar het uitdagingskanaal van de gebruiker, zoals e-mail, en reageert vervolgens terug naar de client-app met een vervolgtoken en de details van de MFA-uitdaging:

    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
    } 
    
  3. De app kan nu een POST-aanvraag indienen bij het eindpunt en bevat een vervolgtoken, het juiste toekenningstype en de bijbehorende toekenningstypewaarden om beveiligingstokens op te halen. Bekijk het verwachte antwoord in Aanvraag voor beveiligingstokens:

    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
    

Een API-verwijzing voor een sterke verificatiemethode registreren

Systeemeigen verificatie ondersteunt de registratie van een sterke verificatiemethode. Wanneer de app het eindpunt /oauth2/v2.0/token aanroept en MFA is vereist, maar de gebruiker geen geregistreerde sterke methode heeft, geeft het antwoord, registeration_required, aan dat de app er een moet registreren voordat tokens kunnen worden uitgegeven.

Nadat de client-app de stroom heeft voltooid om een sterke verificatiemethode te registreren, wordt het eindpunt aangeroepen om beveiligingstokens aan te vragen.

Eindpunten voor registratie van sterke verificatiemethode

De app gebruikt het eindpunt dat wordt weergegeven in de volgende tabel om de api voor de sterke verificatiemethoderegistratie te gebruiken:

Eindpunt Beschrijving
/register/v1.0/introspect Roep dit eindpunt aan om een lijst met sterke verificatiemethoden op te halen die de gebruiker kan registreren.
/register/v1.0/challenge Roep dit eindpunt aan om de uitdaging naar de gebruiker te verzenden, zoals eenmalige wachtwoordcode per e-mail.
/register/v1.0/continue Roep dit eindpunt aan om de uitdaging in te dienen die de app verzamelt van de gebruiker, zoals eenmalige wachtwoordcode, om een stroom te voltooien om een sterke verificatiemethode te registreren. Nadat de aanroep is geslaagd en u een vervolgtoken hebt verkregen, roept u het eindpunteindpunt aan om beveiligingstokens aan te vragen. Meer informatie over het aanroepen van het tokeneindpunt.

Stap 1: De lijst met sterke verificatiemethoden ophalen

De registratiestroom begint wanneer de app de lijst met sterke verificatiemethoden aanvraagt die de gebruiker mag inschrijven.

Hier volgt een voorbeeld van de aanvraag (we presenteren de voorbeeldaanvraag in meerdere regels voor leesbaarheid):

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  
Kenmerk Vereist Beschrijving
tenant_subdomain Ja Het subdomein van de externe tenant die u hebt gemaakt. Vervang in de URL door het subdomein Directory (tenant). Als het primaire domein van uw tenant bijvoorbeeld contoso.onmicrosoft.com is, gebruikt u contoso. Als u uw tenantsubdomein niet hebt, leest u de details van uw tenant.
client_id Ja De toepassings-id (client) van de app die u hebt geregistreerd in het Microsoft Entra-beheercentrum.

Geslaagd antwoord

Hier volgt een voorbeeld van een geslaagd antwoord:

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"
        }
    ]
}
Vastgoed Beschrijving
continuation_token Continuation-token dat Microsoft Entra retourneert.
methods Een lijst (met objecten) van sterke verificatiemethoden die beschikbaar zijn voor de gebruiker om te registreren.

Het object voor sterke verificatiemethoden heeft de volgende eigenschappen:

Vastgoed Beschrijving
id Tekenreekssleutel van de methode. Ondersteunde waarden e-mail, sms.
challenge_type Het type uitdaging dat is geselecteerd voor de gebruiker die moet worden gebruikt als de MFA-methode. Het huidige ondersteunde uitdagingstype is oob.
challenge_channel Het type kanaal waarnaar de MFA-methode wordt verzonden. Ondersteunde waarden e-mail, sms.
login_hint De hint voor de sterke verificatiemethode, zoals een e-mail. Deze waarde wordt door de client-app gebruikt om het tekstvak voor e-mail vooraf in te vullen.

Foutrespons

Voorbeeld:

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"
} 
Vastgoed Beschrijving
error Een foutcodetekenreeks die kan worden gebruikt voor het classificeren van typen fouten en om te reageren op fouten.
error_description Een specifiek foutbericht waarmee u de oorzaak van een verificatiefout kunt identificeren.
error_codes Een lijst met Microsoft Entra-specifieke foutcodes waarmee u fouten kunt diagnosticeren.
timestamp Het tijdstip waarop de fout is opgetreden.
trace_id Een unieke id voor de aanvraag die u kan helpen bij het diagnosticeren van fouten.
correlation_id Een unieke id voor de aanvraag die kan helpen bij diagnostische gegevens over onderdelen.

Hier volgen de mogelijke fouten die u kunt tegenkomen (mogelijke waarden van de eigenschap):

Foutwaarde Beschrijving
invalid_request Validatie van aanvraagparameter is mislukt, zoals een validatie van het vervolgtoken , of de aanvraag bevat geen parameter die de waarde van de client-id leeg of ongeldig is of de externe tenantbeheerder heeft geen e-mail OTP ingeschakeld voor alle tenantgebruikers.
expired_token Het vervolgtoken dat in de aanvraag is opgenomen, is verlopen.

Stap 2: Sterke verificatiemethode selecteren

In deze stap dient u de sterke verificatiemethode in die de gebruiker wil registreren. Microsoft Entra stuurt vervolgens een uitdaging, zoals eenmalige wachtwoordcode voor e-mail, naar de gebruiker.

Hier volgt een voorbeeld van de aanvraag (we presenteren de voorbeeldaanvraag in meerdere regels voor leesbaarheid):

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 
Kenmerk Vereist Beschrijving
tenant_subdomain Ja Het subdomein van de externe tenant die u hebt gemaakt. Vervang in de URL door het subdomein Directory (tenant). Als het primaire domein van uw tenant bijvoorbeeld contoso.onmicrosoft.com is, gebruikt u contoso. Als u uw tenantsubdomein niet hebt, leest u de details van uw tenant.
client_id Ja De toepassings-id (client) van de app die u hebt geregistreerd in het Microsoft Entra-beheercentrum.
continuation_token Ja Het Continuation-token dat Microsoft Entra retourneert van het eindpunt /register/v1.0/introspect
challenge_type Ja Het vraagtype van de verificatiemethode. Huidig type is oob.
challenge_target Ja Het e-mailadres of telefoonnummer dat de gebruiker wil registreren.
challenge_channel Nee Het kanaal waarop de uitdaging moet worden verzonden. Ondersteunde waarden voor uitdagingskanaal: e-mail, sms.

Geslaagd antwoord

Hier volgt een voorbeeld van een geslaagd antwoord.

Voorbeeld 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 
} 

Voorbeeld 2:

Als de registratiestroom voorafgaat aan de sterke registratiestroom voor verificatiemethoden en de e-mail die naar het eindpunt wordt verzonden, overeenkomt met de stroom die is geverifieerd in de registratiestroom, registreert de systeemeigen verificatie-API de methode zonder een uitdaging naar de gebruiker te verzenden. In dit geval ziet het antwoord er ongeveer als volgt uit:

HTTP/1.1 200 OK
Content-Type: application/json
{ 
  "continuation_token": "uY29tL2F1dGhlbnRpY...",
  "challenge_type": "preverified" 
}
Vastgoed Beschrijving
continuation_token Continuation-token dat Microsoft Entra retourneert.
challenge_type Het vraagtype dat is geselecteerd voor de gebruiker voor verificatie, zoals oob, of vooraf geverifieerd als de sterke verificatiemethode vooraf wordt geverifieerd.
binding_method De enige geldige waarde is een prompt. Deze parameter kan in de toekomst worden gebruikt om de gebruiker meer manieren te bieden om de eenmalige wachtwoordcode in te voeren. Uitgegeven als oob en de sterke verificatiemethode niet vooraf is afgegeven.
challenge_channel Het type kanaal waarmee de eenmalige wachtwoordcode is verzonden. Ondersteunde waarden e-mail, sms. Geretourneerd als een sterke verificatiemethode niet vooraf is opgegeven.
code_length De lengte van de eenmalige wachtwoordcode als hierom wordt gevraagd. Geretourneerd als een sterke verificatiemethode niet vooraf is opgegeven.
challenge_target Het doel waar de uitdaging naar is verzonden. Dit is hetzelfde als de invoer in de aanvraag. Geretourneerd als een sterke verificatiemethode niet vooraf is opgegeven.
interval Het interval (in seconden) moet de client wachten tussen polling van /register/continue. Alleen geretourneerd als en de sterke verificatiemethode niet vooraf is opgegeven. Clients moeten het interval verdubbelen telkens wanneer ze een ontvangen van de systeemeigen verificatie-API.

Foutrespons

De fouten hier zijn vergelijkbaar met de fouten die u kunt ervaren wanneer u het eindpunt aanroept. Wanneer u echter een telefoonnummer registreert, als het telefoonnummer als hoog risico wordt beschouwd, kan de aanvraag worden geblokkeerd.

Hier volgen de mogelijke fouten die kunnen optreden als de aanvraag wordt geblokkeerd:

Foutwaarde Beschrijving
access_denied Sms is geblokkeerd.

Als de foutparameter een waarde van access_denied heeft, bevat Microsoft Entra een subfouteigenschap in het antwoord. Hier volgen de mogelijke waarden van de eigenschap suberror voor een invalid_grant fout:

Suberrorwaarde Beschrijving
provider_blocked_by_admin De tenantbeheerder heeft de telefoonregio geblokkeerd.
provider_blocked_by_rep De meervoudige verificatiemethode wordt geblokkeerd (telefoonnummer is geblokkeerd door RepMap).

Stap 3: Uitdaging indienen

In deze stap roept u het eindpunt aan om de registratie van de sterke verificatiemethode te voltooien.

Hier volgt een voorbeeld van de aanvraag (we presenteren de voorbeeldaanvraag in meerdere regels voor leesbaarheid):

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}
Kenmerk Vereist Beschrijving
tenant_subdomain Ja Het subdomein van de externe tenant die u hebt gemaakt. Vervang in de URL door het subdomein Directory (tenant). Als het primaire domein van uw tenant bijvoorbeeld contoso.onmicrosoft.com is, gebruikt u contoso. Als u uw tenantsubdomein niet hebt, leest u de details van uw tenant.
continuation_token Ja Continuation-token dat Microsoft Entra geretourneerd in de vorige aanvraag.
client_id Ja De toepassings-id (client) van de app die u hebt geregistreerd in het Microsoft Entra-beheercentrum.
grant_type Ja Het toekenningstype. De huidige ondersteunde waarde is oob of continuation_token als de sterke verificatiemethode vooraf wordt geverifieerd in het eindpunt.
oob Nee De eenmalige wachtwoordcode die de klant heeft ontvangen in zijn e-mail. Vervang door de eenmalige wachtwoordcodewaarden die de klant in zijn e-mail heeft ontvangen. Als u een eenmalige wachtwoordcode opnieuw wilt verzenden, moet de app opnieuw een aanvraag naar het eindpunt indienen. Vereist als een sterke verificatiemethode niet vooraf is opgegeven in het eindpunt.

Geslaagd antwoord

Hier volgt een voorbeeld van een geslaagd antwoord:

HTTP/1.1 200 OK
Content-Type: application/json
{ 
  "continuation_token": "uY29tL2F1dGhlbnRpY..."
} 
Vastgoed Beschrijving
continuation_token Het continuatietoken dat Microsoft Entra retourneert. Gebruik dit vervolgtoken om het eindpunt aan te roepen om beveiligingstokens aan te vragen. Meer informatie over het aanroepen van het tokeneindpunt.

Foutrespons

Voorbeeld:

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"
}
Vastgoed Beschrijving
error Een foutcodetekenreeks die kan worden gebruikt voor het classificeren van typen fouten en om te reageren op fouten.
error_description Een specifiek foutbericht waarmee u de oorzaak van een verificatiefout kunt identificeren.
error_codes Een lijst met Microsoft Entra-specifieke foutcodes waarmee u fouten kunt diagnosticeren.
timestamp Het tijdstip waarop de fout is opgetreden.
trace_id Een unieke id voor de aanvraag die u kan helpen bij het diagnosticeren van fouten.
correlation_id Een unieke id voor de aanvraag die kan helpen bij diagnostische gegevens over onderdelen.

Hier volgen de mogelijke fouten die u kunt tegenkomen (mogelijke waarden van de eigenschap):

Foutwaarde Beschrijving
invalid_request Validatie van aanvraagparameter is mislukt, zoals een validatie van het vervolgtoken , of de aanvraag bevat geen parameter die de waarde van de client-id leeg of ongeldig is of de externe tenantbeheerder heeft geen e-mail OTP ingeschakeld voor alle tenantgebruikers.
invalid_grant Het toekenningstype dat is opgenomen in de aanvraag, is niet geldig of wordt ondersteund, of OTP-waarde is onjuist.
expired_token Het vervolgtoken dat in de aanvraag is opgenomen, is verlopen.

Als de foutparameter een waarde van invalid_grant heeft, bevat Microsoft Entra een eigenschap suberror in het antwoord. Hier volgen de mogelijke waarden van de eigenschap voor een invalid_grant fout:

Suberrorwaarde Beschrijving
invalid_oob_value De waarde van eenmalige wachtwoordcode is ongeldig.

Selfservice voor wachtwoordherstel (SSPR)

Voor gebruikers waarvan de primaire verificatiemethode e-mail is met een wachtwoord, gebruikt u de selfservice voor wachtwoordherstel (SSPR) API om gebruikers van klanten in staat te stellen hun wachtwoord opnieuw in te stellen. U kunt deze API gebruiken om wachtwoord te vergeten of wachtwoordscenario's te wijzigen.

API-eindpunten voor zelfbedieningswachtwoordreset

Voor het gebruik van deze API gebruikt de app het eindpunt dat wordt weergegeven in de volgende tabel:

Eindpunt Beschrijving
/resetpassword/v1.0/start Uw app roept dit eindpunt aan wanneer de klant het wachtwoord vergeten selecteert of de knop Wachtwoord wijzigen in de app selecteert. Dit eindpunt valideert de gebruikersnaam (e-mail) van de gebruiker en retourneert vervolgens een vervolgtoken dat moet worden gebruikt in de stroom voor wachtwoordherstel. Als uw app vraagt om verificatiemethoden te gebruiken die niet worden ondersteund door Microsoft Entra, kan dit eindpuntantwoord aangeven dat uw app een browsergebaseerde verificatiestroom moet gebruiken.
/resetpassword/v1.0/challenge Accepteert een lijst met uitdagingstypen die worden ondersteund door de client en het vervolgtoken. Er wordt een uitdaging uitgegeven aan een van de voorkeursherstelreferenties. Oob-uitdaging geeft bijvoorbeeld een out-of-band eenmalige wachtwoordcode uit aan het e-mailadres dat is gekoppeld aan het gebruikersaccount van de klant. Als uw app vraagt om verificatiemethoden te gebruiken die niet worden ondersteund door Microsoft Entra, kan dit eindpuntantwoord aangeven dat uw app een browsergebaseerde verificatiestroom moet gebruiken.
/resetpassword/v1.0/continue Valideert de uitdaging die is uitgegeven door het eindpunt en retourneert vervolgens een vervolgtoken voor het eindpunt of geeft een andere uitdaging aan de gebruiker.
/resetpassword/v1.0/submit Accepteert een nieuwe wachtwoordinvoer door de gebruiker, samen met het vervolgtoken om de stroom voor wachtwoordherstel te voltooien. Dit eindpunt geeft een ander vervolgtoken uit.
/resetpassword/v1.0/poll_completion De app kan het vervolgtoken gebruiken dat door het eindpunt is uitgegeven om de status van de aanvraag voor wachtwoordherstel te controleren.
oauth2/v2.0/token Als het opnieuw instellen van het wachtwoord is geslaagd, kan de app het vervolgtoken gebruiken dat wordt verkregen van het eindpunt om beveiligingstokens van het eindpunt te verkrijgen.

Typen selfservice voor het opnieuw instellen van wachtwoorden

Met de API kan de app de verificatiemethoden adverteren die door de app worden ondersteund, wanneer deze een aanroep naar Microsoft Entra doet. Hiervoor gebruikt de app de parameter in de aanvragen. Deze parameter bevat vooraf gedefinieerde waarden, die verschillende verificatiemethoden vertegenwoordigen.

Voor de SSPR-stroom zijn de waarden van het vraagtype oob en omleiding.

Meer informatie over uitdagingstypen in de systeemeigen verificatievraagtypen.

Details van het stroomprotocol voor selfservice voor wachtwoordherstel

In het sequentiediagram ziet u de stroom voor het proces voor het opnieuw instellen van wachtwoorden.

Diagram van de systeemeigen selfservicestroom voor wachtwoordherstel.

Dit diagram geeft aan dat de app op verschillende momenten gebruikersnaam (e-mailadres) en wachtwoord van de gebruiker verzamelt (en mogelijk op afzonderlijke schermen). U kunt uw app echter ontwerpen om de gebruikersnaam (e-mailadres) en het nieuwe wachtwoord op hetzelfde scherm te verzamelen. In dit geval bevat de app het wachtwoord en verzendt deze vervolgens via het eindpunt waar het is vereist.

Stap 1: Aanvraag om de selfservice voor wachtwoordherstel te starten

De stroom voor het opnieuw instellen van wachtwoorden begint met de app die een POST-aanvraag naar het eindpunt verzendt om de selfservice voor wachtwoordherstel te starten.

Hier volgt een voorbeeld van de aanvraag (we presenteren de voorbeeldaanvraag in meerdere regels voor leesbaarheid):

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 
Kenmerk Vereist Beschrijving
tenant_subdomain Ja Het subdomein van de externe tenant die u hebt gemaakt. Vervang in de URL door het subdomein Directory (tenant). Als het primaire domein van uw tenant bijvoorbeeld contoso.onmicrosoft.com is, gebruikt u contoso. Als u uw tenantsubdomein niet hebt, leest u de details van uw tenant.
client_id Ja De toepassings-id (client) van de app die u hebt geregistreerd in het Microsoft Entra-beheercentrum.
username Ja E-mail van de klantgebruiker, zoals .
challenge_type Ja Een door spaties gescheiden lijst met tekenreeksen voor autorisatievraagtypen die door de app worden ondersteund, zoals . De lijst moet altijd het type uitdaging bevatten. Voor deze aanvraag zal de waarde naar verwachting bevatten .
capabilities Nee Door ruimte gescheiden vlaggen die de gereedheid van de client-app beschrijven. Hoewel wordt gedefinieerd welke methoden kunnen worden aangeroepen, vertelt u de systeemeigen verificatie-API die extra stromen door de client-app kan verwerken en welke UIS's deze kunnen weergeven. Betekent bijvoorbeeld een andere en lus; betekent dat de registratie-API's van de client-app worden aangeroepen en de gebruikersinterface voor registratie wordt weergegeven. Als een vereiste mogelijkheid niet wordt geadverteerd door de client-app, retourneert de API omleiding. Ondersteunde waarden zijn en . Meer informatie over mogelijkheden.

Geslaagd antwoord

Voorbeeld:

HTTP/1.1 200 OK
Content-Type: application/json
{
    "continuation_token": "uY29tL2F1dGhlbnRpY..."
}
Vastgoed Beschrijving
continuation_token Continuation-token dat Microsoft Entra retourneert.

Antwoord omleiden

Als de client-app geen ondersteuning biedt voor de verificatiemethode of -mogelijkheden die Microsoft Entra vereist, is een terugval naar de webgebaseerde verificatiestroom nodig. In dit scenario informeert Microsoft Entra de app door een redirect-vraagtype in het antwoord te retourneren:

HTTP/1.1 200 OK
Content-Type: application/json
{     
   "challenge_type": "redirect" 
} 
Vastgoed Beschrijving
challenge_type Microsoft Entra retourneert een antwoord met een type uitdaging. De waarde van dit vraagtype is omleiding, waarmee de app de webverificatiestroom kan gebruiken.

Dit antwoord wordt als geslaagd beschouwd, maar de app is vereist om over te schakelen naar een webverificatiestroom. In dit geval raden we u aan een door Microsoft gebouwde en ondersteunde verificatiebibliotheek te gebruiken.

Foutrespons

Voorbeeld:

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"
} 
Vastgoed Beschrijving
error Een foutcodetekenreeks die kan worden gebruikt voor het classificeren van typen fouten en om te reageren op fouten.
error_description Een specifiek foutbericht waarmee u de oorzaak van een verificatiefout kunt identificeren.
error_codes Een lijst met Microsoft Entra-specifieke foutcodes waarmee u fouten kunt diagnosticeren.
timestamp Het tijdstip waarop de fout is opgetreden.
trace_id Een unieke id voor de aanvraag die u kan helpen bij het diagnosticeren van fouten.
correlation_id Een unieke id voor de aanvraag die kan helpen bij diagnostische gegevens over onderdelen.

Hier volgen de mogelijke fouten die u kunt tegenkomen (mogelijke waarden van de eigenschap):

Foutwaarde Beschrijving
invalid_request Validatie van aanvraagparameters is mislukt, bijvoorbeeld wanneer de parameter een ongeldig vraagtype bevat of als de aanvraag geen parameter bevat , is de client-id-waarde leeg of ongeldig. Gebruik de parameter om de exacte oorzaak van de fout te leren.
user_not_found De gebruikersnaam bestaat niet.
unsupported_challenge_type De parameterwaarde bevat niet het vraagtype.
invalid_client De client-id die de app in de aanvraag opneemt, is voor een app die geen systeemeigen verificatieconfiguratie heeft, zoals het geen openbare client is of niet is ingeschakeld voor systeemeigen verificatie. Gebruik de eigenschap om de exacte oorzaak van de fout te leren.
unauthorized_client De client-id die in de aanvraag wordt gebruikt, heeft een geldige client-id-indeling, maar bestaat niet in de externe tenant of is onjuist.

Als de foutparameter een waarde van invalid_client heeft, bevat Microsoft Entra een eigenschap suberror in het antwoord. Hier volgen de mogelijke waarden van de eigenschap voor een invalid_client fout:

Suberrorwaarde Beschrijving
nativeauthapi_disabled De client-id voor een app die niet is ingeschakeld voor systeemeigen verificatie.

Stap 2: Een verificatiemethode selecteren

Om door te gaan met de stroom, gebruikt de app het vervolgtoken dat is verkregen uit de vorige stap om Microsoft Entra aan te vragen om een van de ondersteunde uitdagingstypen te selecteren waarmee de gebruiker zich kan verifiëren. De app doet een POST-aanvraag naar het eindpunt. Als deze aanvraag is geslaagd, stuurt Microsoft Entra een eenmalige wachtwoordcode naar het e-mailadres van het gebruikersaccount. Op dit moment ondersteunen we alleen e-mail OTP.

Hier volgt een voorbeeld (we presenteren de voorbeeldaanvraag in meerdere regels voor leesbaarheid):

POST https://{tenant_subdomain}.ciamlogin.com/{tenant_subdomain}.onmicrosoft.com/resetpassword/v1.0/challenge
Content-Type: application/x-www-form-urlencoded
client_id=client_id=00001111-aaaa-2222-bbbb-3333cccc4444
&challenge_type=oob redirect
&continuation_token=uY29tL2F1dGhlbnRpY... 
Kenmerk Vereist Beschrijving
tenant_subdomain Ja Het subdomein van de externe tenant die u hebt gemaakt. Vervang in de URL door het subdomein Directory (tenant). Als het primaire domein van uw tenant bijvoorbeeld contoso.onmicrosoft.com is, gebruikt u contoso. Als u uw tenantsubdomein niet hebt, leest u de details van uw tenant.
client_id Ja De toepassings-id (client) van de app die u hebt geregistreerd in het Microsoft Entra-beheercentrum.
continuation_token Ja Continuation-token dat Microsoft Entra geretourneerd in de vorige aanvraag.
challenge_type Nee Een door spaties gescheiden lijst met tekenreeksen voor autorisatievraagtypen die door de app worden ondersteund, zoals . De lijst moet altijd het type uitdaging bevatten. Voor deze aanvraag zal de waarde naar verwachting bevatten .

Geslaagd antwoord

Voorbeeld:

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
} 
Vastgoed Beschrijving
continuation_token Continuation-token dat Microsoft Entra retourneert.
challenge_type Het type uitdaging waarmee de gebruiker zich kan verifiëren.
binding_method De enige geldige waarde is een prompt. Deze parameter kan in de toekomst worden gebruikt om de gebruiker meer manieren te bieden om de eenmalige wachtwoordcode in te voeren. Uitgegeven als oob is
challenge_channel Het type kanaal waarmee de eenmalige wachtwoordcode is verzonden. Op dit moment ondersteunen we e-mail.
challenge_target_label Een verborgen e-mail waar de eenmalige wachtwoordcode is verzonden. Als MFA is ingeschakeld voor de gebruiker, wordt het e-mailbericht met de eenmalige wachtwoordcode verzonden naar:
- e-mailadres dat wordt gebruikt als de sterke verificatiemethode wanneer het e-mailadres verschilt van het e-mailadres van het account.
- e-mailadres van account wanneer de sterke verificatiemethode SMS is.
code_length De lengte van de eenmalige wachtwoordcode die Microsoft Entra genereert.

Antwoord omleiden

Als de client-app geen ondersteuning biedt voor de verificatiemethode of -mogelijkheden die Microsoft Entra vereist, is een terugval naar de webgebaseerde verificatiestroom nodig. In dit scenario informeert Microsoft Entra de app door een redirect-vraagtype in het antwoord te retourneren:

HTTP/1.1 200 OK
Content-Type: application/json
{     
   "challenge_type": "redirect" 
} 
Vastgoed Beschrijving
challenge_type Microsoft Entra retourneert een antwoord met een type uitdaging. De waarde van dit vraagtype is omleiding, waarmee de app de webverificatiestroom kan gebruiken.

Dit antwoord wordt als geslaagd beschouwd, maar de app is vereist om over te schakelen naar een webverificatiestroom. In dit geval raden we u aan een door Microsoft gebouwde en ondersteunde verificatiebibliotheek te gebruiken.

Foutrespons

Voorbeeld:

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"
} 
Vastgoed Beschrijving
error Een foutcodetekenreeks die kan worden gebruikt voor het classificeren van typen fouten en om te reageren op fouten.
error_description Een specifiek foutbericht waarmee u de oorzaak van een verificatiefout kunt identificeren.
error_codes Een lijst met Microsoft Entra-specifieke foutcodes waarmee u fouten kunt diagnosticeren.
timestamp Het tijdstip waarop de fout is opgetreden.
trace_id Een unieke id voor de aanvraag die u kan helpen bij het diagnosticeren van fouten.
correlation_id Een unieke id voor de aanvraag die kan helpen bij diagnostische gegevens over onderdelen.

Hier volgen de mogelijke fouten die u kunt tegenkomen (mogelijke waarden van de eigenschap):

Foutwaarde Beschrijving
invalid_request Validatie van aanvraagparameters is mislukt, bijvoorbeeld wanneer de parameter een ongeldig uitdagingstype of vervolgtokenvalidatie bevat, is mislukt.
expired_token Het vervolgtoken is verlopen.
unsupported_challenge_type De parameterwaarde bevat niet het vraagtype.

Stap 3: Eenmalige wachtwoordcode verzenden

De app doet vervolgens een POST-aanvraag naar het eindpunt. In de aanvraag moet de app de referenties van de gebruiker opnemen die in de vorige stap zijn gekozen en het vervolgtoken dat is uitgegeven vanuit het eindpunt.

Hier volgt een voorbeeld van de aanvraag (we presenteren de voorbeeldaanvraag in meerdere regels voor leesbaarheid):

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}
Kenmerk Vereist Beschrijving
tenant_subdomain Ja Het subdomein van de externe tenant die u hebt gemaakt. Vervang in de URL door het subdomein Directory (tenant). Als het primaire domein van uw tenant bijvoorbeeld contoso.onmicrosoft.com is, gebruikt u contoso. Als u uw tenantsubdomein niet hebt, leest u de details van uw tenant.
continuation_token Ja Continuation-token dat Microsoft Entra geretourneerd in de vorige aanvraag.
client_id Ja De toepassings-id (client) van de app die u hebt geregistreerd in het Microsoft Entra-beheercentrum.
grant_type Ja De enige geldige waarde is oob.
oob Ja De eenmalige wachtwoordcode die de klant heeft ontvangen in zijn e-mail. Vervang door de eenmalige wachtwoordcode die de klant in zijn e-mail heeft ontvangen. Als u een eenmalige wachtwoordcode opnieuw wilt verzenden, moet de app opnieuw een aanvraag naar het eindpunt indienen.

Geslaagd antwoord

Voorbeeld:

HTTP/1.1 200 OK
Content-Type: application/json
{ 
    "expires_in": 600,
    "continuation_token": "czZCaGRSa3F0MzpnW...",
} 
Vastgoed Beschrijving
expires_in Tijd in seconden voordat de continuation_token verloopt. De maximumwaarde van 600 seconden.
continuation_token Continuation-token dat Microsoft Entra retourneert.

Foutrespons

Voorbeeld:

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"
} 
Vastgoed Beschrijving
error Een foutcodetekenreeks die kan worden gebruikt voor het classificeren van typen fouten en om te reageren op fouten.
error_description Een specifiek foutbericht waarmee u de oorzaak van een verificatiefout kunt identificeren.
error_codes Een lijst met Microsoft Entra-specifieke foutcodes waarmee u fouten kunt diagnosticeren.
timestamp Het tijdstip waarop de fout is opgetreden.
trace_id Een unieke id voor de aanvraag die u kan helpen bij het diagnosticeren van fouten.
correlation_id Een unieke id voor de aanvraag die kan helpen bij diagnostische gegevens over onderdelen.
suberror Een foutcodetekenreeks die kan worden gebruikt voor het verder classificeren van typen fouten.

Hier volgen de mogelijke fouten die u kunt tegenkomen (mogelijke waarden van de eigenschap):

Foutwaarde Beschrijving
invalid_request Validatie van aanvraagparameters is mislukt, zoals een validatie van het vervolgtoken is mislukt of de aanvraag bevat geen parameter die de client-id-waarde leeg of ongeldig is of de externe tenantbeheerder SSPR en e-mail OTP niet heeft ingeschakeld voor alle tenantgebruikers. Gebruik de parameter om de exacte oorzaak van de fout te leren.
invalid_grant Het toekenningstype is onbekend of komt niet overeen met de verwachte waarde van het toekenningstype. Gebruik de eigenschap om de exacte oorzaak van de fout te leren.
expired_token Het vervolgtoken is verlopen.

Als de foutparameter een waarde van invalid_grant heeft, bevat Microsoft Entra een eigenschap suberror in het antwoord. Hier volgen de mogelijke waarden van de eigenschap voor een invalid_grant fout:

Suberrorwaarde Beschrijving
invalid_oob_value De waarde van eenmalige wachtwoordcode is ongeldig.

Stap 4: Een nieuw wachtwoord indienen

De app verzamelt een nieuw wachtwoord van de gebruiker en gebruikt vervolgens het vervolgtoken dat door het eindpunt is uitgegeven om het wachtwoord in te dienen door een POST-aanvraag naar het eindpunt te verzenden.

Hier volgt een voorbeeld (we presenteren de voorbeeldaanvraag in meerdere regels voor leesbaarheid):

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}
Kenmerk Vereist Beschrijving
tenant_subdomain Ja Het subdomein van de externe tenant die u hebt gemaakt. Vervang in de URL door het subdomein Directory (tenant). Als het primaire domein van uw tenant bijvoorbeeld contoso.onmicrosoft.com is, gebruikt u contoso. Als u uw tenantsubdomein niet hebt, leest u de details van uw tenant.
continuation_token Ja Continuation-token dat Microsoft Entra geretourneerd in de vorige aanvraag.
client_id Ja De toepassings-id (client) van de app die u hebt geregistreerd in het Microsoft Entra-beheercentrum.
new_password Ja Het nieuwe wachtwoord van de gebruiker. Vervang door het nieuwe wachtwoord van de gebruiker. Het is uw verantwoordelijkheid om te bevestigen dat de gebruiker op de hoogte is van het wachtwoord dat ze willen gebruiken door het veld wachtwoord bevestigen in de gebruikersinterface van de app op te geven. U moet er ook voor zorgen dat de gebruiker op de hoogte is van wat een sterk wachtwoord is volgens het beleid van uw organisatie. Meer informatie over het wachtwoordbeleid van Microsoft Entra.

Geslaagd antwoord

Voorbeeld:

HTTP/1.1 200 OK
Content-Type: application/json
{
    "continuation_token": "uY29tL2F1dGhlbnRpY...",
    "poll_interval": 2
}
Vastgoed Beschrijving
continuation_token Continuation-token dat Microsoft Entra retourneert.
poll_interval De minimale hoeveelheid tijd in seconden dat de app moet wachten tussen polling-aanvragen om de status van de aanvraag voor wachtwoordherstel via het eindpunt te controleren, zie stap 5

Foutrespons

Voorbeeld:

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"
} 
Vastgoed Beschrijving
error Een foutcodetekenreeks die kan worden gebruikt voor het classificeren van typen fouten en om te reageren op fouten.
error_description Een specifiek foutbericht waarmee u de oorzaak van een verificatiefout kunt identificeren.
error_codes Een lijst met Microsoft Entra-specifieke foutcodes waarmee u fouten kunt diagnosticeren.
timestamp Het tijdstip waarop de fout is opgetreden.
trace_id Een unieke id voor de aanvraag die u kan helpen bij het diagnosticeren van fouten.
correlation_id Een unieke id voor de aanvraag die kan helpen bij diagnostische gegevens over onderdelen.
suberror Een foutcodetekenreeks die kan worden gebruikt voor het verder classificeren van typen fouten.

Hier volgen de mogelijke fouten die u kunt tegenkomen (mogelijke waarden van de eigenschap):

Foutwaarde Beschrijving
invalid_request Validatie van aanvraagparameter is mislukt, zoals een validatie van het vervolgtoken is mislukt.
expired_token Het vervolgtoken is verlopen.
invalid_grant De ingediende subsidie is ongeldig, zoals het ingediende wachtwoord is te kort. Gebruik de eigenschap om de exacte oorzaak van de fout te leren.

Als de foutparameter een waarde van invalid_grant heeft, bevat Microsoft Entra een eigenschap suberror in het antwoord. Dit zijn de mogelijke waarden van de eigenschap:

Suberrorwaarde Beschrijving
password_too_weak Het wachtwoord is te zwak omdat het niet voldoet aan de complexiteitsvereisten. Meer informatie over het wachtwoordbeleid van Microsoft Entra.
password_too_short Nieuw wachtwoord is minder dan 8 tekens. Meer informatie over het wachtwoordbeleid van Microsoft Entra.
password_too_long Nieuw wachtwoord is langer dan 256 tekens. Meer informatie over het wachtwoordbeleid van Microsoft Entra.
password_recently_used Het nieuwe wachtwoord mag niet hetzelfde zijn als het wachtwoord dat onlangs is gebruikt. Meer informatie over het wachtwoordbeleid van Microsoft Entra.
password_banned Nieuw wachtwoord bevat een woord, woordgroep of patroon dat wordt verboden. Meer informatie over het wachtwoordbeleid van Microsoft Entra.
password_is_invalid Het wachtwoord is ongeldig, bijvoorbeeld omdat er niet-toegestane tekens worden gebruikt. Meer informatie over het wachtwoordbeleid van Microsoft Entra. Dit antwoord is mogelijk als de app een gebruikerswachtwoord indient.

Stap 5: Peiling voor de status van het opnieuw instellen van wachtwoorden

Sinds het bijwerken van de configuratie van de gebruiker met het nieuwe wachtwoord enige vertraging optreedt, kan de app het /resetpassword/v1.0/poll_completion-eindpunt gebruiken om Microsoft Entra te peilen naar de status van het opnieuw instellen van het wachtwoord. De minimale hoeveelheid tijd in seconden die de app moet wachten tussen polling-aanvragen, wordt geretourneerd vanaf het eindpunt in de parameter.

Hier volgt een voorbeeld (we presenteren de voorbeeldaanvraag in meerdere regels voor leesbaarheid):

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... 
Kenmerk Vereist Beschrijving
tenant_subdomain Ja Het subdomein van de externe tenant die u hebt gemaakt. Vervang in de URL door het subdomein Directory (tenant). Als het primaire domein van uw tenant bijvoorbeeld contoso.onmicrosoft.com is, gebruikt u contoso. Als u uw tenantsubdomein niet hebt, leest u de details van uw tenant.
continuation_token Ja Continuation-token dat Microsoft Entra geretourneerd in de vorige aanvraag.
client_id Ja De toepassings-id (client) van de app die u hebt geregistreerd in het Microsoft Entra-beheercentrum.

Geslaagd antwoord

Voorbeeld:

HTTP/1.1 200 OK
Content-Type: application/json
{
    "status": "succeeded",
    "continuation_token":"czZCaGRSa3F0..."
} 
Vastgoed Beschrijving
status De status van de wachtwoordaanvraag opnieuw instellen. Als Microsoft Entra een status van failed retourneert, kan de app het nieuwe wachtwoord opnieuw indienen door een andere aanvraag in te dienen bij het /resetpassword/v1.0/submit-eindpunt en het nieuwe vervolgtoken op te nemen.
continuation_token Continuation-token dat Microsoft Entra retourneert. Als de status is succeeded, kan de app het vervolgtoken gebruiken dat Microsoft Entra retourneert om via het oauth2/v2.0/token-eindpunt te vragen om beveiligingstokens op te vragen, zoals wordt uitgelegd in Vraag voor beveiligingstokens. Dit betekent dat nadat een gebruiker zijn wachtwoord opnieuw heeft ingesteld, u deze rechtstreeks kunt aanmelden bij uw app zonder een nieuwe aanmeldingsstroom te starten.

Hier volgen de mogelijke statussen die Microsoft Entra retourneert (mogelijke waarden van de parameter status):

Foutwaarde Beschrijving
succeeded Wachtwoord opnieuw instellen is voltooid.
failed Wachtwoord opnieuw instellen is mislukt. De app kan het nieuwe wachtwoord opnieuw indienen door een andere aanvraag naar het eindpunt te verzenden.
not_started Het opnieuw instellen van het wachtwoord is niet gestart. De app kan de status later opnieuw controleren.
in_progress Het opnieuw instellen van het wachtwoord wordt uitgevoerd. De app kan de status later opnieuw controleren.

Foutrespons

Voorbeeld:

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"
} 
Vastgoed Beschrijving
error Een foutcodetekenreeks die kan worden gebruikt voor het classificeren van typen fouten en om te reageren op fouten.
error_description Een specifiek foutbericht waarmee u de oorzaak van een verificatiefout kunt identificeren.
error_codes Een lijst met Microsoft Entra-specifieke foutcodes waarmee u fouten kunt diagnosticeren.
timestamp Het tijdstip waarop de fout is opgetreden.
trace_id Een unieke id voor de aanvraag die u kan helpen bij het diagnosticeren van fouten.
correlation_id Een unieke id voor de aanvraag die kan helpen bij diagnostische gegevens over onderdelen.

Hier volgen de mogelijke fouten die u kunt tegenkomen (mogelijke waarden van de eigenschap):

Foutwaarde Beschrijving
invalid_request Validatie van aanvraagparameters is mislukt, zoals de validatie van het vervolgtoken is mislukt.
expired_token Het vervolgtoken is verlopen.

Automatisch aanmelden na het opnieuw instellen van het wachtwoord

Als de gebruiker zich moet aanmelden na een geslaagde wachtwoordherstel. De app moet het eindpunt aanroepen. Meer informatie over het aanroepen van het tokeneindpunt.

  • Configureer een aangepaste claimprovider.