Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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
Een Microsoft Entra externe tenant. Als u er nog geen hebt, maakt u een externe tenant.
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.
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.
Koppel uw app-registratie aan de gebruikersstroom.
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.
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.
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 :
- Schakel gebruikersnaam in bij het inloggen.
- 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.
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:
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...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 }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.
Gerelateerde inhoud
- Configureer een aangepaste claimprovider.