Api-referens för intern autentisering
Gäller för: Personalklientorganisationer Externa klienter (läs mer)
Med Microsoft Entras interna autentisering kan du vara värd för användargränssnittet för din app i klientprogrammet i stället för att delegera autentisering till webbläsare, vilket resulterar i en inbyggd integrerad autentiseringsupplevelse. Som utvecklare har du fullständig kontroll över utseendet och känslan i inloggningsgränssnittet.
Den här API-referensartikeln beskriver endast information som krävs när du manuellt gör råa HTTP-begäranden för att köra flödet. Vi rekommenderar dock inte den här metoden. Så när det är möjligt använder du ett Microsoft-byggt och stödt autentiserings-SDK. Mer information om hur du använder SDK finns i Självstudie: Förbereda din Android-mobilapp för intern autentisering och Självstudie: Förbered din iOS/macOS-mobilapp för intern autentisering.
När ett anrop till API-slutpunkterna lyckas får du både en ID-token för användaridentifiering och en åtkomsttoken för att anropa skyddade API:er. Alla svar från API:et är i JSON-format.
Microsoft Entras api för intern autentisering stöder registrering och inloggning för två autentiseringsmetoder:
E-post med lösenord, som stöder registrering och inloggning med ett e-postmeddelande och lösenord, samt lösenordsåterställning via självbetjäning (SSPR).
Skicka ett engångslösenord via e-post, som stöder registrering och inloggning med engångslösenord för e-post.
Not
För närvarande stöder inte api-slutpunkterna för intern autentisering resursdelning (CORS) för korsande ursprung.
Förutsättningar
En extern Microsoft Entra-klientorganisation. Om du inte redan har en skapar du en extern klientorganisation.
Om du inte redan har gjort det registrerar du ett program i administrationscentret för Microsoft Entra. Se till att du beviljar delegerade behörigheter och aktiverar offentliga klient- och inbyggda autentiseringsflöden.
Om du inte redan har gjort det skapar du ett användarflöde i administrationscentret för Microsoft Entra. När du skapar användarflödet noterar du de användarattribut som du konfigurerar efter behov eftersom dessa attribut är de som Microsoft Entra förväntar sig att din app ska skicka.
För inloggningsflöde registrerar du en kundanvändare som du använder för att testa inloggnings-API:erna. Du kan också hämta den här testanvändaren när du har kört registreringsflödet.
För SSPR-flöde aktiverar du självbetjäning av lösenordsåterställning för kundanvändare i den externa klientorganisationen. SSPR är tillgängligt för kundanvändare som använder e-post med lösenordsautentiseringsmetod.
Fortsättningstoken
Varje gång du anropar en slutpunkt i något av flödena, inloggningen, registreringen eller SSPR innehåller slutpunkten en fortsättningstoken i svaret. Fortsättningstoken är en unik identifierare som Microsoft Entra ID använder för att underhålla tillstånd mellan anrop till olika slutpunkter i samma flöde. Du måste inkludera den här token i efterföljande begäranden i samma flöde.
Varje fortsättningstoken är giltig under en viss period och kan endast användas för efterföljande begäranden inom samma flöde.
Referens för registrerings-API
För att slutföra ett användarregistreringsflöde för någon av autentiseringsmetoderna interagerar appen med fyra slutpunkter, /signup/v1.0/start
, /signup/v1.0/challenge
, /signup/v1.0/continue
och /token
.
Registrerings-API-slutpunkter
Slutpunkt | Beskrivning |
---|---|
/signup/v1.0/start |
Den här slutpunkten startar registreringsflödet. Du skickar giltigt program-ID, nytt användarnamn och utmaningstyp och får sedan tillbaka en ny fortsättningstoken. Slutpunkten kan returnera ett svar som anger för programmet att använda ett flöde för webbautentisering om programmets valda autentiseringsmetoder inte stöds av Microsoft Entra. |
/signup/v1.0/challenge |
Din app anropar den här slutpunkten med en lista över utmaningstyper som stöds av Microsoft Entra. Microsoft Entra väljer sedan en av de autentiseringsmetoder som stöds för användaren att autentisera med. |
/signup/v1.0/continue |
Den här slutpunkten hjälper till att fortsätta flödet för att skapa användarkontot eller avbryta flödet på grund av saknade krav, till exempel krav på lösenordsprinciper eller felaktiga attributformat. Den här slutpunkten genererar en fortsättningstoken och returnerar den sedan till appen. Slutpunkten kan returnera ett svar som anger för programmet att använda ett webbaserat autentiseringsflöde om programmet inte är en autentiseringsmetod som valts av Microsoft Entra. |
/token |
Programmet anropar den här slutpunkten för att slutligen begära säkerhetstoken. Appen måste inkludera fortsättningstoken som hämtas från det senaste lyckade anropet /signup/v1.0/continue till slutpunkten. |
Registreringsutmaningstyper
MED API:et kan klientappen annonsera de autentiseringsmetoder som den stöder när den anropar Microsoft Entra. För att göra det använder appen parametern challenge_type
i appens begäran. Den här parametern innehåller fördefinierade värden som representerar olika autentiseringsmetoder.
Läs mer om utmaningstyper i de inbyggda autentiseringsutmaningstyperna. I den här artikeln beskrivs de utmaningstypvärden som du bör använda för en autentiseringsmetod.
Information om registreringsflödesprotokoll
Sekvensdiagrammet visar flödet i registreringsprocessen.
Det här diagrammet anger att appen samlar in användarnamn (e-post), lösenord (för e-post med metoder för lösenordsautentisering) och attribut från användaren vid olika tidpunkter (och eventuellt på separata skärmar). Du kan dock utforma din app för att samla in användarnamnet (e-postmeddelandet), lösenordet och alla obligatoriska och valfria attributvärden på samma skärm och sedan skicka dem alla via /signup/v1.0/start
slutpunkten. I det här fallet behöver appen inte göra anrop och hantera svar för de valfria stegen.
Steg 1: Begäran om att starta registreringsflödet
Registreringsflödet börjar med att programmet gör en POST-begäran till /signup/v1.0/start
slutpunkten för att starta registreringsflödet.
Här är exempel på begäran (vi presenterar exempelbegäran i flera rader för läsbarhet):
Exempel 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
Exempel 2 (inkludera användarattribut och lösenord i begäran):
POST https://{tenant_subdomain}.ciamlogin.com/{tenant_subdomain}.onmicrosoft.com/signup/v1.0/start
Content-Type: application/x-www-form-urlencoded
client_id=00001111-aaaa-2222-bbbb-3333cccc4444
&challenge_type=oob password redirect
&password={secure_password}
&attributes={"displayName": "{given_name}", "extension_2588abcdwhtfeehjjeeqwertc_age": "{user_age}", "postalCode": "{user_postal_code}"}
&username=contoso-consumer@contoso.com
Parameter | Krävs | Beskrivning |
---|---|---|
tenant_subdomain |
Ja | Underdomänen för den externa klientorganisation som du skapade. I URL:en ersätter du {tenant_subdomain} med underdomänen Katalog (klientorganisation). Om din klients primära domän till exempel är contoso.onmicrosoft.com använder du contoso. Om du inte har klientunderdomänen kan du läsa klientinformationen. |
client_id |
Ja | Program-ID :t (klient) för den app som du registrerade i administrationscentret för Microsoft Entra. |
username |
Ja | E-post till den kundanvändare som de vill registrera sig med, till exempel contoso-consumer@contoso.com. |
challenge_type |
Ja | En blankstegsavgränsad lista över auktoriseringsutmaningssträngar som appen stöder, till exempel oob password redirect . Listan måste alltid innehålla utmaningstypen redirect . Värdet förväntas oob redirect eller oob password redirect för e-post med lösenordsautentiseringsmetod. |
password |
Nej | Det lösenordsvärde som appen samlar in från kundanvändaren. Du kan skicka en användares lösenord via /signup/v1.0/start eller senare i /signup/v1.0/continue slutpunkten. Ersätt {secure_password} med det lösenordsvärde som appen samlar in från kundanvändaren. Det är ditt ansvar att bekräfta att användaren är medveten om det lösenord de vill använda genom att ange fältet bekräfta lösenord i appens användargränssnitt. Du måste också se till att användaren är medveten om vad som utgör ett starkt lösenord enligt organisationens princip. Läs mer om Microsoft Entras lösenordsprinciper. Den här parametern gäller endast för e-post med lösenordsautentiseringsmetod. |
attributes |
Nej | Användaren tillskriver värden som appen samlar in från kundanvändaren. Värdet är en sträng, men formaterad som ett JSON-objekt vars nyckelvärden är programmerbara namn på användarattribut. De här attributen kan vara inbyggda eller anpassade och obligatoriska eller valfria. Nyckelnamnen för objektet beror på de attribut som administratören har konfigurerat i administrationscentret för Microsoft Entra. Du kan skicka vissa eller alla användarattribut via /signup/v1.0/start slutpunkten eller senare i /signup/v1.0/continue slutpunkten. Om du skickar alla obligatoriska attribut via /signup/v1.0/start slutpunkten behöver du inte skicka några attribut i /signup/v1.0/continue slutpunkten. Men om du skickar några obligatoriska attribut via /signup/v1.0/start slutpunkten kan du skicka de återstående obligatoriska attributen /signup/v1.0/continue senare i slutpunkten. Ersätt {given_name} , {user_age} och {postal_code} med värdena för namn, ålder och postnummer som appen samlar in från kundanvändaren. Microsoft Entra ignorerar alla attribut som du skickar, som inte finns. |
Svar om lyckad åtgärd
Här är ett exempel på ett lyckat svar:
HTTP/1.1 200 OK
Content-Type: application/json
{
"continuation_token": "AQABAAEAAA…",
}
Parameter | Beskrivning |
---|---|
continuation_token |
Fortsättningstoken som Microsoft Entra returnerar. |
Om en app inte kan stödja en obligatorisk autentiseringsmetod av Microsoft Entra krävs en återställning till det webbaserade autentiseringsflödet. I det här scenariot informerar Microsoft Entra appen genom att returnera en typ av omdirigeringsutmaning i svaret:
HTTP/1.1 200 OK
Content-Type: application/json
{
"challenge_type": "redirect"
}
Parameter | Beskrivning |
---|---|
challenge_type |
Microsoft Entra returnerar ett svar som har en utmaningstyp. Värdet för den här utmaningstypen är omdirigering, vilket gör att appen kan använda det webbaserade autentiseringsflödet. |
Det här svaret anses vara lyckat, men appen krävs för att växla till ett webbaserat autentiseringsflöde. I det här fallet rekommenderar vi att du använder ett autentiseringsbibliotek som stöds av Microsoft.
Felsvar
Exempel:
HTTP/1.1 400 Bad Request
Content-Type: application/json
{
"error": "user_already_exists",
"error_description": "AADSTS1003037: It looks like you may already have an account.... .\r\nTrace ID: 0000aaaa-11bb-cccc-dd22-eeeeee333333\r\nCorrelation ID: aaaa0000-bb11-2222-33cc-444444dddddd\r\nTimestamp: yyyy-...",
"error_codes": [
1003037
],
"timestamp": "yyyy-mm-dd 10:15:00Z",
"trace_id": "0000aaaa-11bb-cccc-dd22-eeeeee333333",
"correlation_id": "aaaa0000-bb11-2222-33cc-444444dddddd"
}
Parameter | Beskrivning |
---|---|
error |
En felkodssträng som kan användas för att klassificera typer av fel och reagera på fel. |
error_description |
Ett specifikt felmeddelande som kan hjälpa dig att identifiera orsaken till ett autentiseringsfel. |
error_codes |
En lista över Microsoft Entra-specifika felkoder som kan hjälpa dig att diagnostisera fel. |
timestamp |
Den tid då felet inträffade. |
trace_id |
En unik identifierare för begäran som kan hjälpa dig att diagnostisera fel. |
correlation_id |
En unik identifierare för begäran som kan hjälpa till med diagnostik mellan komponenter. |
invalid_attributes |
En lista (matris med objekt) med attribut som misslyckades med valideringen. Det här svaret är möjligt om appen skickar användarattribut och suberror parameterns värde är attribute_validation_failed. |
suberror |
En felkodssträng som kan användas för att ytterligare klassificera typer av fel. |
Här är de möjliga fel som du kan stöta på (möjliga värden för parametern error
):
Felvärde | Beskrivning |
---|---|
invalid_request |
Valideringen av begärandeparametern misslyckades, till exempel när parametervärdet challenge_type innehåller en autentiseringsmetod som inte stöds eller om begäran inte innehöll client_id parametern som klient-ID-värdet är tomt eller ogiltigt. Använd parametern error_description för att lära dig den exakta orsaken till felet. |
invalid_client |
Det klient-ID som appen innehåller i begäran är för en app som saknar inbyggd autentiseringskonfiguration, till exempel att den inte är en offentlig klient eller inte är aktiverad för intern autentisering. Använd parametern suberror för att lära dig den exakta orsaken till felet. |
unauthorized_client |
Klient-ID:t som används i begäran har ett giltigt klient-ID-format, men finns inte i den externa klientorganisationen eller är felaktigt. |
unsupported_challenge_type |
Parametervärdet challenge_type innehåller inte utmaningstypen redirect . |
user_already_exists |
Användaren finns redan. |
invalid_grant |
Lösenordet som appen skickar uppfyller inte alla komplexitetskrav, till exempel att lösenordet är för kort. Använd parametern suberror för att lära dig den exakta orsaken till felet. Den här parametern gäller endast för e-post med lösenordsautentiseringsmetod. |
Om felparametern har värdet invalid_grant innehåller Microsoft Entra en suberror
parameter i svaret. Här är de möjliga värdena för parametern suberror
för ett invalid_grant fel:
Underordnat värde | Beskrivning |
---|---|
password_too_weak |
Lösenordet är för svagt eftersom det inte uppfyller komplexitetskraven. Läs mer om Microsoft Entras lösenordsprinciper. Det här svaret är möjligt om appen skickar ett användarlösenord. |
password_too_short |
Nytt lösenord är färre än 8 tecken. Läs mer om Microsoft Entras lösenordsprinciper. Det här svaret är möjligt om appen skickar ett användarlösenord. |
password_too_long |
Nytt lösenord är längre än 256 tecken. Läs mer om Microsoft Entras lösenordsprinciper. Det här svaret är möjligt om appen skickar ett användarlösenord. |
password_recently_used |
Det nya lösenordet får inte vara detsamma som det som nyligen använts. Läs mer om Microsoft Entras lösenordsprinciper. Det här svaret är möjligt om appen skickar ett användarlösenord. |
password_banned |
Nytt lösenord innehåller ett ord, en fras eller ett mönster som är förbjudet. Läs mer om Microsoft Entras lösenordsprinciper. Det här svaret är möjligt om appen skickar ett användarlösenord. |
password_is_invalid |
Lösenordet är ogiltigt, till exempel eftersom det använder otillåtna tecken. Läs mer om Microsoft Entras lösenordsprinciper. Det här svaret är möjligt om appen skickar ett användarlösenord. |
Om felparametern har värdet invalid_client innehåller Microsoft Entra en suberror
parameter i svaret. Här är de möjliga värdena för parametern suberror
för ett invalid_client fel:
Underordnat värde | Beskrivning |
---|---|
nativeauthapi_disabled |
Klient-ID för en app som inte är aktiverad för intern autentisering. |
Not
Om du skickar alla obligatoriska attribut via /signup/v1.0/start
slutpunkten, men inte alla valfria attribut, kan du inte skicka några ytterligare valfria attribut senare via /signup/v1.0/continue
slutpunkten. Microsoft Entra begär inte uttryckligen valfria attribut eftersom de inte är obligatoriska för att registreringsflödet ska slutföras. Se tabellen i avsnittet Skicka användarattribut till slutpunkter för att lära dig vilka användarattribut du kan skicka till slutpunkterna /signup/v1.0/start
och /signup/v1.0/continue
.
Steg 2: Välj en autentiseringsmetod
Appen begär att Microsoft Entra väljer någon av de utmaningstyper som stöds för användaren att autentisera med. För att göra det gör appen ett anrop till /signup/v1.0/challenge
slutpunkten. Appen måste inkludera den fortsättningstoken som den hämtar från /signup/v1.0/start
slutpunkten i begäran.
Här är ett exempel på begäran (vi presenterar exempelbegäran på flera rader för läsbarhet).
POST https://{tenant_subdomain}.ciamlogin.com/{tenant_subdomain}.onmicrosoft.com/signup/v1.0/challenge
Content-Type: application/x-www-form-urlencoded
client_id=00001111-aaaa-2222-bbbb-3333cccc4444
&challenge_type=oob password redirect
&continuation_token=AQABAAEAAA…
Parameter | Krävs | Beskrivning |
---|---|---|
tenant_subdomain |
Ja | Underdomänen för den externa klientorganisation som du skapade. I URL:en ersätter du {tenant_subdomain} med underdomänen Katalog (klientorganisation). Om din klients primära domän till exempel är contoso.onmicrosoft.com använder du contoso. Om du inte har klientunderdomänen kan du läsa klientinformationen. |
client_id |
Ja | Program-ID :t (klient) för den app som du registrerade i administrationscentret för Microsoft Entra. |
challenge_type |
Nej | En blankstegsavgränsad lista över auktoriseringsutmaningssträngar som appen stöder, till exempel oob password redirect . Listan måste alltid innehålla utmaningstypen redirect . Värdet förväntas oob redirect för engångslösenord för e-post och oob password redirect för e-post med lösenordsautentiseringsmetod. |
continuation_token |
Ja | Fortsättningstoken som Microsoft Entra returnerade i föregående begäran. |
Svar om lyckad åtgärd
Microsoft Entra skickar ett engångslösenord till användarens e-post och svarar sedan med utmaningstypen med värdet oob och ytterligare information om engångslösenordet:
HTTP/1.1 200 OK
Content-Type: application/json
{
"interval": 300,
"continuation_token": "AQABAAEAAAYn...",
"challenge_type": "oob",
"binding_method": "prompt",
"challenge_channel": "email",
"challenge_target_label": "c***r@co**o**o.com",
"code_length": 8
}
Parameter | Beskrivning |
---|---|
interval |
Hur lång tid i sekunder appen måste vänta innan den försöker skicka otp igen. |
continuation_token |
Fortsättningstoken som Microsoft Entra returnerar. |
challenge_type |
Utmaningstyp som valts för användaren att autentisera med. |
binding_method |
Det enda giltiga värdet är prompten. Den här parametern kan användas i framtiden för att erbjuda fler sätt för användaren att ange engångslösenordet. Utfärdad om challenge_type är oob |
challenge_channel |
Typ av kanal genom vilken engångslösenordet skickades. För närvarande stöds endast e-postkanal. |
challenge_target_label |
Ett dolt e-postmeddelande där engångslösenordet skickades. |
code_length |
Längden på engångslösenordet som Microsoft Entra genererar. |
Om en app inte kan stödja en obligatorisk autentiseringsmetod av Microsoft Entra krävs en återställning till det webbaserade autentiseringsflödet. I det här scenariot informerar Microsoft Entra appen genom att returnera en typ av omdirigeringsutmaning i svaret:
HTTP/1.1 200 OK
Content-Type: application/json
{
"challenge_type": "redirect"
}
Parameter | Beskrivning |
---|---|
challenge_type |
Microsoft Entra returnerar ett svar som har en utmaningstyp. Värdet för den här utmaningstypen är omdirigering, vilket gör att appen kan använda det webbaserade autentiseringsflödet. |
Det här svaret anses vara lyckat, men appen krävs för att växla till ett webbaserat autentiseringsflöde. I det här fallet rekommenderar vi att du använder ett autentiseringsbibliotek som stöds av Microsoft.
Felsvar
Exempel:
HTTP/1.1 400 Bad Request
Content-Type: application/json
{
"error": "invalid_request",
"error_description": "AADSTS901007: The challenge_type list parameter does not include the 'redirect' type.\r\nTrace ID: 0000aaaa-11bb-cccc-dd22-eeeeee333333\r\nCorrelation ID: aaaa0000-bb11-2222-33cc-444444dddddd\r\nTimestamp: yyyy-...",
"error_codes": [
901007
],
"timestamp": "yyyy-mm-dd 10:15:00Z",
"trace_id": "0000aaaa-11bb-cccc-dd22-eeeeee333333",
"correlation_id": "aaaa0000-bb11-2222-33cc-444444dddddd"
}
Parameter | Beskrivning |
---|---|
error |
En felkodssträng som kan användas för att klassificera typer av fel och reagera på fel. |
error_description |
Ett specifikt felmeddelande som kan hjälpa dig att identifiera orsaken till ett autentiseringsfel. |
error_codes |
En lista över Microsoft Entra-specifika felkoder som kan hjälpa dig att diagnostisera fel. |
timestamp |
Den tid då felet inträffade. |
trace_id |
En unik identifierare för begäran som kan hjälpa dig att diagnostisera fel. |
correlation_id |
En unik identifierare för begäran som kan hjälpa till med diagnostik mellan komponenter. |
Här är de möjliga fel som du kan stöta på (möjliga värden för parametern error
):
Felvärde | Beskrivning |
---|---|
invalid_request |
Valideringen av begärandeparametern misslyckades, till exempel att klient-ID är tomt eller ogiltigt. |
expired_token |
Fortsättningstoken har upphört att gälla. |
unsupported_challenge_type |
Parametervärdet challenge_type innehåller inte utmaningstypen redirect . |
invalid_grant |
Fortsättningstoken är ogiltig. |
Steg 3: Skicka engångslösenord
Appen skickar engångslösenordet som skickas till användarens e-post. Eftersom vi skickar engångslösenord krävs en oob
parameter och parametern grant_type
måste ha värdet oob.
Här är ett exempel på begäran (vi presenterar exempelbegäran på flera rader för läsbarhet):
POST https://{tenant_subdomain}.ciamlogin.com/{tenant_subdomain}.onmicrosoft.com/signup/v1.0/continue
Content-Type: application/x-www-form-urlencoded
continuation_token=uY29tL2F1dGhlbnRpY...
&client_id=00001111-aaaa-2222-bbbb-3333cccc4444
&grant_type=oob
&oob={otp_code}
Parameter | Krävs | Beskrivning |
---|---|---|
tenant_subdomain |
Ja | Underdomänen för den externa klientorganisation som du skapade. I URL:en ersätter du {tenant_subdomain} med underdomänen Katalog (klientorganisation). Om din klients primära domän till exempel är contoso.onmicrosoft.com använder du contoso. Om du inte har klientunderdomänen kan du läsa klientinformationen. |
continuation_token |
Ja | Fortsättningstoken som Microsoft Entra returnerade i föregående begäran. |
client_id |
Ja | Program-ID :t (klient) för den app som du registrerade i administrationscentret för Microsoft Entra. |
grant_type |
Ja | En begäran till slutpunkten kan användas för att skicka engångslösenord /signup/v1.0/continue , lösenord eller användarattribut. I det här fallet grant_type används värdet för att skilja mellan dessa tre användningsfall. Möjliga värden för grant_type är oob, lösenord, attribut. Eftersom vi skickar engångslösenord i det här anropet förväntas värdet vara oob. |
oob |
Ja | Engångslösenordet som kundanvändaren fick i sin e-post. Ersätt {otp_code} med engångslösenordsvärdena som kundanvändaren fick i sin e-post. Om du vill skicka ett engångslösenord igen måste appen göra en begäran till /signup/v1.0/challenge slutpunkten igen. |
När appen har skickat engångslösenordet beror registreringsflödet på scenarierna enligt tabellen:
Scenario | Så här fortsätter du |
---|---|
Appen skickar användarens lösenord (för e-post med lösenordsautentiseringsmetod) via /signup/v1.0/start slutpunkten och inga attribut har konfigurerats i Administrationscenter för Microsoft Entra eller så skickas alla nödvändiga användarattribut via /signup/v1.0/start slutpunkten. |
Microsoft Entra utfärdar en fortsättningstoken. Appen kan använda fortsättningstoken för att begära säkerhetstoken enligt steg 5. |
Appen skickar användarens lösenord (för e-post med lösenordsautentiseringsmetod) via /signup/v1.0/start , men inte alla nödvändiga användarattribut, Microsoft Entra anger de attribut som appen behöver skicka enligt de användarattribut som krävs. |
Appen måste skicka de nödvändiga användarattributen /signup/v1.0/continue via slutpunkten. Svaret liknar det som krävs i Användarattribut. Skicka användarattributen som visas i skicka användarattribut. |
Appen skickar inte användarens lösenord (för e-post med lösenordsautentiseringsmetod) via /signup/v1.0/start slutpunkten. |
Microsoft Entras svar anger att autentiseringsuppgifter krävs. Se svar. Det här svaret är möjligt för e-post med lösenordsautentiseringsmetod. |
Svar
HTTP/1.1 400 Bad Request
Content-Type: application/json
{
"error": "credential_required",
"error_description": "AADSTS55103: Credential required. Trace ID: d6966055-...-80500 Correlation ID: 3944-...-60d6 Timestamp: yy-mm-dd 02:37:33Z",
"error_codes": [
55103
],
"timestamp": "yy-mm-dd 02:37:33Z",
"trace_id": "d6966055-...-80500",
"correlation_id": "3944-...-60d6",
"continuation_token": "AQABEQEAAAA..."
}
Parameter | Beskrivning |
---|---|
error |
En felkodssträng som kan användas för att klassificera typer av fel och reagera på fel. |
error_description |
Ett specifikt felmeddelande som kan hjälpa dig att identifiera orsaken till ett autentiseringsfel. |
error_codes |
En lista över Microsoft Entra-specifika felkoder som kan hjälpa dig att diagnostisera fel. |
timestamp |
Den tid då felet inträffade. |
trace_id |
En unik identifierare för begäran som kan hjälpa dig att diagnostisera fel. |
correlation_id |
En unik identifierare för begäran som kan hjälpa till med diagnostik mellan komponenter. |
continuation_token |
Fortsättningstoken som Microsoft Entra returnerar. |
suberror |
En felkodssträng som kan användas för att ytterligare klassificera typer av fel. |
Här är de möjliga fel som du kan stöta på (möjliga värden för parametern error
):
Felvärde | Beskrivning |
---|---|
credential_required |
Autentisering krävs för att skapa kontot, så du måste göra ett anrop till /signup/v1.0/challenge slutpunkten för att fastställa de autentiseringsuppgifter som användaren måste ange. |
invalid_request |
Verifieringen av begäransparametern misslyckades, till exempel en validering av fortsättningstoken misslyckades eller så innehöll client_id begäran inte parametern att klient-ID-värdet är tomt eller ogiltigt eller att den externa klientadministratören inte har aktiverat otp för e-post för alla klientanvändare. |
invalid_grant |
Den beviljandetyp som ingår i begäran är inte giltig eller stöds inte, eller så är OTP-värdet felaktigt. |
expired_token |
Fortsättningstoken som ingår i begäran har upphört att gälla. |
Om felparametern har värdet invalid_grant innehåller Microsoft Entra en suberror
parameter i svaret. Här är de möjliga värdena för parametern suberror
för ett invalid_grant fel:
Underordnat värde | Beskrivning |
---|---|
invalid_oob_value |
Värdet för engångslösenord är ogiltigt. |
För att lösenordsautentiseringsuppgifterna ska samlas in från användaren måste appen göra ett anrop till /signup/v1.0/challenge
slutpunkten för att fastställa de autentiseringsuppgifter som användaren måste ange.
Här är ett exempel på begäran (vi presenterar exempelbegäran på flera rader för läsbarhet):
POST https://{tenant_subdomain}.ciamlogin.com/{tenant_subdomain}.onmicrosoft.com/signup/v1.0/challenge
Content-Type: application/x-www-form-urlencoded
client_id=00001111-aaaa-2222-bbbb-3333cccc4444
&challenge_type=oob password redirect
&continuation_token=AQABAAEAAA…
Parameter | Krävs | Beskrivning |
---|---|---|
tenant_subdomain |
Ja | Underdomänen för den externa klientorganisation som du skapade. I URL:en ersätter du {tenant_subdomain} med underdomänen Katalog (klientorganisation). Om din klients primära domän till exempel är contoso.onmicrosoft.com använder du contoso. Om du inte har klientunderdomänen kan du läsa klientinformationen. |
client_id |
Ja | Program-ID :t (klient) för den app som du registrerade i administrationscentret för Microsoft Entra. |
challenge_type |
Nej | En blankstegsavgränsad lista över auktoriseringsutmaningssträngar som appen stöder, till exempel oob password redirect . Listan måste alltid innehålla utmaningstypen redirect . För e-postmeddelandet med lösenordsregistreringsflödet förväntas värdet innehålla password redirect . |
continuation_token |
Ja | Fortsättningstoken som Microsoft Entra returnerade i föregående begäran. |
Svar om lyckad åtgärd
Om lösenordet är den autentiseringsmetod som konfigurerats för användaren i administrationscentret för Microsoft Entra returneras ett lyckat svar med fortsättningstoken till appen.
HTTP/1.1 200 OK
Content-Type: application/json
{
"challenge_type": "password",
"continuation_token": " AQABAAEAAAAty..."
}
Parameter | Beskrivning |
---|---|
challenge_type |
lösenordet returneras i svaret för nödvändiga autentiseringsuppgifter. |
continuation_token |
Fortsättningstoken som Microsoft Entra returnerar. |
Om en app inte kan stödja en obligatorisk autentiseringsmetod av Microsoft Entra krävs en återställning till det webbaserade autentiseringsflödet. I det här scenariot informerar Microsoft Entra appen genom att returnera en typ av omdirigeringsutmaning i svaret:
HTTP/1.1 200 OK
Content-Type: application/json
{
"challenge_type": "redirect"
}
Parameter | Beskrivning |
---|---|
challenge_type |
Microsoft Entra returnerar ett svar som har en utmaningstyp. Värdet för den här utmaningstypen är omdirigering, vilket gör att appen kan använda det webbaserade autentiseringsflödet. |
Det här svaret anses vara lyckat, men appen krävs för att växla till ett webbaserat autentiseringsflöde. I det här fallet rekommenderar vi att du använder ett autentiseringsbibliotek som stöds av Microsoft.
Steg 4: Autentisera och hämta token för att registrera dig
Appen måste skicka användarens autentiseringsuppgifter, i det här fallet lösenord, som Microsoft Entra begärde i föregående steg. Appen måste skicka in en lösenordsautentiseringsuppgift om den inte gjorde det via /signup/v1.0/start
slutpunkten. Appen skickar en begäran till /signup/v1.0/continue
slutpunkten om att skicka lösenordet. Eftersom vi skickar ett lösenord krävs en password
parameter och parametern måste ha ett värdelösenordgrant_type
.
Här är ett exempel på begäran (vi presenterar exempelbegäran på flera rader för läsbarhet):
POST https://{tenant_subdomain}.ciamlogin.com/{tenant_subdomain}.onmicrosoft.com/signup/v1.0/continue
Content-Type: application/x-www-form-urlencoded
continuation_token=uY29tL2F1dGhlbnRpY...
&client_id=00001111-aaaa-2222-bbbb-3333cccc4444
&grant_type=password
&password={secure_password}
Parameter | Krävs | Beskrivning |
---|---|---|
tenant_subdomain |
Ja | Underdomänen för den externa klientorganisation som du skapade. I URL:en ersätter du {tenant_subdomain} med underdomänen Katalog (klientorganisation). Om din klients primära domän till exempel är contoso.onmicrosoft.com använder du contoso. Om du inte har klientunderdomänen kan du läsa klientinformationen. |
continuation_token |
Ja | Fortsättningstoken som Microsoft Entra returnerade i föregående steg. |
client_id |
Ja | Program-ID :t (klient) för den app som du registrerade i administrationscentret för Microsoft Entra. |
grant_type |
Ja | En begäran till slutpunkten kan användas för att skicka engångslösenord /signup/v1.0/continue , lösenord eller användarattribut. I det här fallet grant_type används värdet för att skilja mellan dessa tre användningsfall. Möjliga värden för grant_type är oob, lösenord, attribut. I det här anropet, eftersom vi skickar användarens lösenord, förväntas värdet vara lösenord. |
password |
Ja | Det lösenordsvärde som appen samlar in från kundanvändaren. Ersätt {secure_password} med det lösenordsvärde som appen samlar in från kundanvändaren. Det är ditt ansvar att bekräfta att användaren är medveten om det lösenord de vill använda genom att ange fältet bekräfta lösenord i appens användargränssnitt. Du måste också se till att användaren är medveten om vad som utgör ett starkt lösenord enligt organisationens princip. Läs mer om Microsoft Entras lösenordsprinciper. |
Svar om lyckad åtgärd
Om begäran lyckas, men inga attribut har konfigurerats i administrationscentret för Microsoft Entra eller om alla obligatoriska attribut har skickats via /signup/v1.0/start
slutpunkten, hämtar appen en fortsättningstoken utan att skicka några attribut. Appen kan använda fortsättningstoken för att begära säkerhetstoken enligt steg 5. Annars anger Microsoft Entras svar att appen måste skicka nödvändiga attribut. Dessa attribut, inbyggda eller anpassade, konfigurerades i administrationscentret för Microsoft Entra av klientadministratören.
Användarattribut krävs
Det här svaret begär att appen skickar värden för namn, *ålder och telefonattribut .
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]*$"
}
}
],
}
Not
Anpassade attribut (även kallade katalogtillägg) namnges med hjälp av konventionen extension_{appId-without-hyphens}_{attribute-name}
där är den avskalade versionen av klient-ID:t för tilläggsappen{appId-without-hyphens}
. Om klient-ID:t för tilläggsappen till exempel är 2588a-bcdwh-tfeehj-jeeqw-ertc
och attributnamnet är hobbyer, namnges det anpassade attributet somextension_2588abcdwhtfeehjjeeqwertc_hobbies
. Läs mer om anpassade attribut och tilläggsappar.
Parameter | Beskrivning |
---|---|
error |
Det här attributet anges om Microsoft Entra inte kan skapa användarkontot eftersom ett attribut måste verifieras eller skickas. |
error_description |
Ett specifikt felmeddelande som kan hjälpa dig att identifiera orsaken till felet. |
error_codes |
En lista över Microsoft Entra-specifika felkoder som kan hjälpa dig att diagnostisera fel. |
timestamp |
Den tid då felet inträffade. |
trace_id |
En unik identifierare för begäran som kan hjälpa dig att diagnostisera fel. |
correlation_id |
En unik identifierare för begäran som kan hjälpa till med diagnostik mellan komponenter. |
continuation_token |
Fortsättningstoken som Microsoft Entra returnerar. |
required_attributes |
En lista (matris med objekt) med attribut som appen behöver skicka nästa anrop för att fortsätta. Dessa attribut är de extra attribut som appen behöver skicka förutom användarnamnet. Microsoft Entra innehåller den här parametern är svaret om värdet error för parametern är attributes_required. |
Här är de möjliga fel som du kan stöta på (möjliga värden för parametern error
):
Felvärde | Beskrivning |
---|---|
invalid_request |
Valideringen av begäransparameter misslyckades, till exempel en validering av fortsättningstoken misslyckades eller så innehöll client_id begäran inte parametern att klient-ID-värdet är tomt eller ogiltigt. |
invalid_grant |
Den beviljandetyp som ingår i begäran är inte giltig eller stöds inte. Möjliga värden för grant_type är oob, lösenord, attribut |
expired_token |
Fortsättningstoken som ingår i begäran har upphört att gälla. |
attributes_required |
Ett eller flera användarattribut krävs. |
Om en app inte kan stödja en obligatorisk autentiseringsmetod av Microsoft Entra krävs en återställning till det webbaserade autentiseringsflödet. I det här scenariot informerar Microsoft Entra appen genom att returnera en typ av omdirigeringsutmaning i svaret:
HTTP/1.1 200 OK
Content-Type: application/json
{
"challenge_type": "redirect"
}
Parameter | Beskrivning |
---|---|
challenge_type |
Microsoft Entra returnerar ett svar som har en utmaningstyp. Värdet för den här utmaningstypen är omdirigering, vilket gör att appen kan använda det webbaserade autentiseringsflödet. |
Det här svaret anses vara lyckat, men appen krävs för att växla till ett webbaserat autentiseringsflöde. I det här fallet rekommenderar vi att du använder ett autentiseringsbibliotek som stöds av Microsoft.
Felsvar
Exempel:
HTTP/1.1 400 Bad Request
Content-Type: application/json
{
"error": "invalid_grant",
"error_description": "New password is too weak",
"error_codes": [
399246
],
"timestamp": "yyyy-mm-dd 10:15:00Z",
"trace_id": "0000aaaa-11bb-cccc-dd22-eeeeee333333",
"correlation_id": "aaaa0000-bb11-2222-33cc-444444dddddd",
"suberror": "password_too_weak"
}
Parameter | Beskrivning |
---|---|
error |
En felkodssträng som kan användas för att klassificera typer av fel och reagera på fel. |
error_description |
Ett specifikt felmeddelande som kan hjälpa dig att identifiera orsaken till ett autentiseringsfel. |
error_codes |
En lista över Microsoft Entra-specifika felkoder som kan hjälpa dig att diagnostisera fel. |
timestamp |
Den tid då felet inträffade. |
trace_id |
En unik identifierare för begäran som kan hjälpa dig att diagnostisera fel. |
correlation_id |
En unik identifierare för begäran som kan hjälpa till med diagnostik mellan komponenter. |
suberror |
En felkodssträng som kan användas för att ytterligare klassificera typer av fel. |
Här är de möjliga fel som du kan stöta på (möjliga värden för parametern error
):
Felvärde | Beskrivning |
---|---|
invalid_request |
Valideringen av begärandeparametern misslyckades, till exempel när parametern challenge_type innehåller en ogiltig utmaningstyp. |
invalid_grant |
Det angivna beviljandet är ogiltigt, till exempel att lösenordet som skickas är för kort. Använd parametern suberror för att lära dig den exakta orsaken till felet. |
expired_token |
Fortsättningstoken har upphört att gälla. |
attributes_required |
Ett eller flera användarattribut krävs. |
Om felparametern har värdet invalid_grant innehåller Microsoft Entra en suberror
parameter i svaret. Här är de möjliga värdena för parametern suberror
:
Underordnat värde | Beskrivning |
---|---|
password_too_weak |
Lösenordet är för svagt eftersom det inte uppfyller komplexitetskraven. Läs mer om Microsoft Entras lösenordsprinciper. |
password_too_short |
Nytt lösenord är färre än 8 tecken. Läs mer om Microsoft Entras lösenordsprinciper. |
password_too_long |
Nytt lösenord är längre än 256 tecken. Läs mer om Microsoft Entras lösenordsprinciper. |
password_recently_used |
Det nya lösenordet får inte vara detsamma som det som nyligen använts. Läs mer om Microsoft Entras lösenordsprinciper. |
password_banned |
Nytt lösenord innehåller ett ord, en fras eller ett mönster som är förbjudet. Läs mer om Microsoft Entras lösenordsprinciper. |
password_is_invalid |
Lösenordet är ogiltigt, till exempel eftersom det använder otillåtna tecken. Läs mer om Microsoft Entras lösenordsprinciper. Det här svaret är möjligt om appen skickar ett användarlösenord. |
Skicka användarattribut
För att fortsätta med flödet måste appen göra ett anrop till /signup/v1.0/continue
slutpunkten för att skicka de nödvändiga användarattributen. Eftersom vi skickar attribut krävs en attributes
parameter och parametern grant_type
måste ha ett värde som är lika med attribut.
Här är ett exempel på begäran (vi presenterar exempelbegäran på flera rader för läsbarhet):
POST https://{tenant_subdomain}.ciamlogin.com/{tenant_subdomain}.onmicrosoft.com/signup/v1.0/continue
Content-Type: application/x-www-form-urlencoded
&client_id=00001111-aaaa-2222-bbbb-3333cccc4444
&grant_type=attributes
&attributes={"displayName": "{given_name}", "extension_2588abcdwhtfeehjjeeqwertc_age": "{user_age}", "postaCode": "{postal_code}"}
&continuation_token=AQABAAEAAAAtn...
Parameter | Krävs | Beskrivning |
---|---|---|
tenant_subdomain |
Ja | Underdomänen för den externa klientorganisation som du skapade. I URL:en ersätter du {tenant_subdomain} med underdomänen Katalog (klientorganisation). Om din klients primära domän till exempel är contoso.onmicrosoft.com använder du contoso. Om du inte har klientunderdomänen kan du läsa klientinformationen. |
continuation_token |
Ja | Fortsättningstoken som Microsoft Entra returnerade i föregående begäran. |
client_id |
Ja | Program-ID :t (klient) för den app som du registrerade i administrationscentret för Microsoft Entra. |
grant_type |
Ja | En begäran till slutpunkten kan användas för att skicka engångslösenord /signup/v1.0/continue , lösenord eller användarattribut. I det här fallet grant_type används värdet för att skilja mellan dessa tre användningsfall. Möjliga värden för grant_type är oob, lösenord, attribut. Eftersom vi skickar användarattribut i det här anropet förväntas värdet vara attribut. |
attributes |
Ja | De värden för användarattribut som appen samlar in från kundanvändaren. Värdet är en sträng, men formaterad som ett JSON-objekt vars nyckelvärden är namn på användarattribut, inbyggda eller anpassade. Nyckelnamnen för objektet beror på de attribut som administratören har konfigurerat i administrationscentret för Microsoft Entra. Ersätt {given_name} , {user_age} och {postal_code} med värdena för namn, ålder och postnummer som appen samlar in från kundanvändaren. Microsoft Entra ignorerar alla attribut som du skickar, som inte finns. |
Svar om lyckad åtgärd
Om begäran lyckas utfärdar Microsoft Entra en fortsättningstoken som appen kan använda för att begära säkerhetstoken.
HTTP/1.1 200 OK
Content-Type: application/json
{
"continuation_token": "AQABAAEAAAYn..."
}
Parameter | Beskrivning |
---|---|
continuation_token |
Fortsättningstoken som Microsoft Entra returnerar. |
Om en app inte kan stödja en obligatorisk autentiseringsmetod av Microsoft Entra krävs en återställning till det webbaserade autentiseringsflödet. I det här scenariot informerar Microsoft Entra appen genom att returnera en typ av omdirigeringsutmaning i svaret:
HTTP/1.1 200 OK
Content-Type: application/json
{
"challenge_type": "redirect"
}
Parameter | Beskrivning |
---|---|
challenge_type |
Microsoft Entra returnerar ett svar som har en utmaningstyp. Värdet för den här utmaningstypen är omdirigering, vilket gör att appen kan använda det webbaserade autentiseringsflödet. |
Det här svaret anses vara lyckat, men appen krävs för att växla till ett webbaserat autentiseringsflöde. I det här fallet rekommenderar vi att du använder ett autentiseringsbibliotek som stöds av Microsoft.
Felsvar
Exempel:
HTTP/1.1 400 Bad Request
Content-Type: application/json
{
"error": "expired_token",
"error_description": "AADSTS901007: The continuation_token is expired. .\r\nTrace ID: 0000aaaa-11bb-cccc-dd22-eeeeee333333\r\nCorrelation ID: aaaa0000-bb11-2222-33cc-444444dddddd\r\nTimestamp: yyyy-...",
"error_codes": [
552003
],
"timestamp": "yyyy-mm-dd 10:15:00Z",
"trace_id": "0000aaaa-11bb-cccc-dd22-eeeeee333333",
"correlation_id": "aaaa0000-bb11-2222-33cc-444444dddddd"
}
Parameter | Beskrivning |
---|---|
error |
En felkodssträng som kan användas för att klassificera typer av fel och reagera på fel. |
error_description |
Ett specifikt felmeddelande som kan hjälpa dig att identifiera orsaken till ett autentiseringsfel. |
error_codes |
En lista över Microsoft Entra-specifika felkoder som kan hjälpa dig att diagnostisera fel. |
timestamp |
Den tid då felet inträffade. |
trace_id |
En unik identifierare för begäran som kan hjälpa dig att diagnostisera fel. |
correlation_id |
En unik identifierare för begäran som kan hjälpa till med diagnostik mellan komponenter. |
continuation_token |
Fortsättningstoken som Microsoft Entra returnerar. |
unverified_attributes |
En lista (matris med objekt) med attributnyckelnamn som måste verifieras. Den här parametern ingår i svaret när error parameterns värde verification_required. |
required_attributes |
En lista (matris med objekt) med attribut som appen behöver skicka. Microsoft Entra innehåller den här parametern i sitt svar när error parameterns värde attributes_required. |
invalid_attributes |
En lista (matris med objekt) med attribut som misslyckades med valideringen. Den här parametern ingår i svaret när suberror parameterns värde attribute_validation_failed. |
suberror |
En felkodssträng som kan användas för att ytterligare klassificera typer av fel. |
Här är de möjliga fel som du kan stöta på (möjliga värden för parametern error
):
Felvärde | Beskrivning |
---|---|
invalid_request |
Valideringen av begäransparameter misslyckades, till exempel en validering av fortsättningstoken misslyckades eller så innehöll client_id begäran inte parametern att klient-ID-värdet är tomt eller ogiltigt. |
invalid_grant |
Den angivna beviljandetypen är inte giltig eller stöds inte eller misslyckades, till exempel att verifieringen av attribut misslyckades. Använd parametern suberror för att lära dig den exakta orsaken till felet. |
expired_token |
Fortsättningstoken som ingår i begäran har upphört att gälla. |
attributes_required |
Ett eller flera användarattribut krävs. |
Om felparametern har värdet invalid_grant innehåller Microsoft Entra en suberror
parameter i svaret. Här är de möjliga värdena för parametern suberror
för ett invalid_grant fel:
Underordnat värde | Beskrivning |
---|---|
attribute_validation_failed |
Verifieringen av användarattribut misslyckades. invalid_attributes parametern innehåller listan (matrisen med objekt) med attribut som misslyckades med valideringen. |
Steg 5: Begäran om säkerhetstoken
Appen gör en POST-begäran till /token
slutpunkten och tillhandahåller fortsättningstoken som hämtades från föregående steg för att hämta säkerhetstoken.
Här är ett exempel på begäran (vi presenterar exempelbegäran på flera rader för läsbarhet):
POST https://{tenant_subdomain}.ciamlogin.com/{tenant_subdomain}.onmicrosoft.com/oauth2/v2.0/token
Content-Type: application/x-www-form-urlencoded
continuation_token=ABAAEAAAAtyo...
&client_id=00001111-aaaa-2222-bbbb-3333cccc4444
&username=contoso-consumer@contoso.com
&scope={scopes}
&grant_type=continuation_token
Parameter | Krävs | Beskrivning |
---|---|---|
tenant_subdomain |
Ja | Underdomänen för den externa klientorganisation som du skapade. I URL:en ersätter du {tenant_subdomain} med underdomänen Katalog (klientorganisation). Om din klients primära domän till exempel är contoso.onmicrosoft.com använder du contoso. Om du inte har klientunderdomänen kan du läsa klientinformationen. |
client_id |
Ja | Program-ID :t (klient) för den app som du registrerade i administrationscentret för Microsoft Entra. |
grant_type |
Ja | Parametervärdet måste vara fortsättningstoken. |
continuation_token |
Ja | Fortsättningstoken som Microsoft Entra returnerade i föregående steg. |
scope |
Ja | En blankstegsavgränsad lista över omfång som åtkomsttoken är giltig för. Ersätt {scopes} med de giltiga omfång som åtkomsttoken som Microsoft Entra returnerar är giltig för. |
username |
Ja | E-post till den kundanvändare som de vill registrera sig med, till exempel contoso-consumer@contoso.com. |
Lyckat svar
Här är ett exempel på ett lyckat svar:
HTTP/1.1 200 OK
Content-Type: application/json
{
"token_type": "Bearer",
"scope": "openid profile",
"expires_in": 4141,
"access_token": "eyJ0eXAiOiJKV1Qi...",
"refresh_token": "AwABAAAA...",
"id_token": "eyJ0eXAiOiJKV1Q..."
}
Parameter | Beskrivning |
---|---|
access_token |
Åtkomsttoken som appen begärde från /token slutpunkten. Appen kan använda den här åtkomsttoken för att begära åtkomst till skyddade resurser, till exempel webb-API:er. |
token_type |
Anger värdet för tokentyp. Den enda typ som Microsoft Entra stöder är Bearer. |
expires_in |
Hur lång tid i sekunder åtkomsttoken förblir giltig. |
scopes |
En blankstegsavgränsad lista över omfång som åtkomsttoken är giltig för. |
refresh_token |
En OAuth 2.0-uppdateringstoken. Appen kan använda den här token för att hämta andra åtkomsttoken när den aktuella åtkomsttoken upphör att gälla. Uppdateringstoken är långlivade. De kan upprätthålla åtkomsten till resurser under längre perioder. Mer information om hur du uppdaterar en åtkomsttoken finns i artikeln Uppdatera åtkomsttoken . Obs! Utfärdas endast om offline_access omfång begärdes. |
id_token |
En JSON-webbtoken (Jwt) som används för att identifiera kundanvändaren. Appen kan avkoda token för att läsa information om användaren som loggade in. Appen kan cachelagras värdena och visa dem, och konfidentiella klienter kan använda den här token för auktorisering. Mer information om ID-token finns i ID-token. Obs! Utfärdas endast om openid-omfång begärs. |
Felsvar
Exempel:
HTTP/1.1 400 Bad Request
Content-Type: application/json
{
"error": "invalid_request",
"error_description": "AADSTS901007: The client doesn't have consent for the requested scopes.\r\nTrace ID: 0000aaaa-11bb-cccc-dd22-eeeeee333333\r\nCorrelation ID: aaaa0000-bb11-2222-33cc-444444dddddd\r\nTimestamp: yyyy-...",
"error_codes": [
50126
],
"timestamp": "yyyy-mm-dd 10:15:00Z",
"trace_id": "0000aaaa-11bb-cccc-dd22-eeeeee333333",
"correlation_id": "aaaa0000-bb11-2222-33cc-444444dddddd"
}
Parameter | Beskrivning |
---|---|
error |
En felkodssträng som kan användas för att klassificera typer av fel och reagera på fel. |
error_description |
Ett specifikt felmeddelande som kan hjälpa dig att identifiera orsaken till ett autentiseringsfel. |
error_codes |
En lista över Microsoft Entra-specifika felkoder som kan hjälpa dig att diagnostisera fel. |
timestamp |
Den tid då felet inträffade. |
trace_id |
En unik identifierare för begäran som kan hjälpa dig att diagnostisera fel. |
correlation_id |
En unik identifierare för begäran som kan hjälpa till med diagnostik mellan komponenter. |
Här är de möjliga fel som du kan stöta på (möjliga värden för parametern error
):
Felvärde | Beskrivning |
---|---|
invalid_request |
Verifieringen av begärandeparametern misslyckades, till exempel att klienten/appen inte har medgivande för de begärda omfången. |
invalid_grant |
Fortsättningstoken som ingår i begäran är ogiltig. |
unauthorized_client |
Klient-ID:t som ingår i begäran är ogiltigt eller finns inte. |
unsupported_grant_type |
Den beviljandetyp som ingår i begäran stöds inte eller är felaktig. |
Skicka användarattribut till slutpunkter
I administrationscentret för Microsoft Entra kan du konfigurera användarattribut efter behov eller valfritt. Den här konfigurationen avgör hur Microsoft Entra svarar när du gör ett anrop till dess slutpunkter. Valfria attribut är inte obligatoriska för att registreringsflödet ska slutföras. När alla attribut är valfria måste de därför skickas innan användarnamnet verifieras. Annars slutförs registreringen utan de valfria attributen.
I följande tabell sammanfattas när det är möjligt att skicka användarattribut till Microsoft Entra-slutpunkter.
Slutpunkt | Obligatoriska attribut | Valfria attribut | Både obligatoriska och valfria attribut |
---|---|---|---|
/signup/v1.0/start Slutpunkt |
Ja | Ja | Ja |
/signup/v1.0/continue slutpunkt före användarnamnsverifiering |
Ja | Ja | Ja |
/signup/v1.0/continue slutpunkt efter användarnamnsverifiering |
Ja | Nej | Ja |
Format för värden för användarattribut
Du anger den information som du vill samla in från användaren genom att konfigurera användarflödesinställningarna i administrationscentret för Microsoft Entra. Använd artikeln Samla in anpassade användarattribut under registreringen för att lära dig hur du samlar in värden för både inbyggda och anpassade attribut.
Du kan också ange indatatypen för användaren för de attribut som du konfigurerar. I följande tabell sammanfattas de användarindatatyper som stöds och hur du skickar värden som samlas in av användargränssnittskontrollerna till Microsoft Entra.
Indatatyp för användare | Format för skickade värden |
---|---|
Textruta | Ett enda värde, till exempel jobbtitel, programvarutekniker. |
SingleRadioSelect | Ett enda värde, till exempel Språk, Norska. |
KryssrutaMultiVälj | Ett eller flera värden, till exempel en hobby eller hobby, dans eller dans, simning, resor. |
Här är en exempelbegäran som visar hur du skickar attributens värden:
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...
Läs mer om indatatyper för användarattribut i artikeln Indatatyper för anpassade användarattribut.
Referera till användarattribut
När du skapar ett användarflöde för registrering konfigurerar du användarattribut som du vill samla in från användaren under registreringen. Namnen på användarattributen i administrationscentret för Microsoft Entra skiljer sig från hur du refererar till dem i det interna autentiserings-API:et.
Visningsnamn i administrationscentret för Microsoft Entra refereras till som displayName i API:et.
Använd artikeln Användarprofilattribut för att lära dig hur du refererar till både inbyggda och anpassade användarattribut i det interna autentiserings-API:et.
Inloggnings-API-referens
Användarna måste logga in med den autentiseringsmetod som de använder för registrering. Användare som registrerar sig med e-post med lösenordsautentiseringsmetod måste till exempel logga in e-post och lösenord.
Om du vill begära säkerhetstoken interagerar appen med tre slutpunkter, /initiate
, /challenge
och /token
.
Inloggnings-API-slutpunkter
Slutpunkt | Beskrivning |
---|---|
/initiate |
Den här slutpunkten initierar inloggningsflödet. Om appen anropar den med ett användarnamn för ett användarkonto som redan finns returneras ett lyckat svar med en fortsättningstoken. Om din app begär att använda autentiseringsmetoder som inte stöds av Microsoft Entra kan det här slutpunktssvaret indikera för din app att den behöver använda ett webbläsarbaserat autentiseringsflöde. |
/challenge |
din app anropar den här slutpunkten med en lista över utmaningstyper som stöds av identitetstjänsten. Vår identitetstjänst genererar och skickar sedan ett engångslösenord till den valda utmaningskanalen, till exempel e-post. Om din app anropar den här slutpunkten upprepade gånger skickas en ny OTP varje gång ett anrop görs. |
/token |
Den här slutpunkten verifierar engångslösenordet som den tar emot från din app och utfärdar sedan säkerhetstoken till din app. |
Typer av inloggningsutmaningar
MED API:et kan appen annonsera de autentiseringsmetoder som den stöder när den anropar Microsoft Entra. För att göra det använder appen parametern challenge_type
i sina begäranden. Den här parametern innehåller fördefinierade värden som representerar olika autentiseringsmetoder.
För en viss autentiseringsmetod är de utmaningstypvärden som en app skickar till Microsoft Entra under registreringsflödet desamma som när appen loggar in. Till exempel använder metoden e-post med lösenordsautentisering oob, lösenord och omdirigeringsutmaningstyp för både registrerings- och inloggningsflöden.
Läs mer om utmaningstyper i artikeln om inbyggda autentiseringsutmaningstyper .
Information om inloggningsflödesprotokoll
Sekvensdiagrammet visar flödet för inloggningsprocessen.
När appen verifierar användarens e-post med OTP tar den emot säkerhetstoken. Om leveransen av engångslösenordet fördröjs eller aldrig levereras till användarens e-post kan användaren begära att få ett annat engångslösenord. Microsoft Entra skickar ett nytt engångslösenord om det tidigare inte har verifierats. När Microsoft Entra skickar ett engångslösenord igen ogiltigförklaras den tidigare skickade koden.
I de avsnitt som följer sammanfattar vi sekvensdiagramflödet i tre grundläggande steg.
Steg 1: Begäran om att starta inloggningsflödet
Autentiseringsflödet börjar med att programmet gör en POST-begäran till /initiate
slutpunkten för att starta inloggningsflödet.
Här är ett exempel på begäran (vi presenterar exempelbegäran på flera rader för läsbarhet):
POST https://{tenant_subdomain}.ciamlogin.com/{tenant_subdomain}.onmicrosoft.com/oauth2/v2.0/initiate
Content-Type: application/x-www-form-urlencoded
client_id=00001111-aaaa-2222-bbbb-3333cccc4444
&challenge_type=password redirect
&username=contoso-consumer@contoso.com
Parameter | Krävs | Beskrivning |
---|---|---|
tenant_subdomain |
Ja | Underdomänen för den externa klientorganisation som du skapade. I URL:en ersätter du {tenant_subdomain} med underdomänen Katalog (klientorganisation). Om din klients primära domän till exempel är contoso.onmicrosoft.com använder du contoso. Om du inte har klientunderdomänen kan du läsa klientinformationen. |
client_id |
Ja | Program-ID :t (klient) för den app som du registrerade i administrationscentret för Microsoft Entra. |
username |
Ja | E-post för kundanvändaren, till exempel contoso-consumer@contoso.com. |
challenge_type |
Ja | En blankstegsavgränsad lista över auktoriseringsutmaningssträngar som appen stöder, till exempel oob password redirect . Listan måste alltid innehålla utmaningstypen redirect . Värdet förväntas oob redirect för engångslösenord för e-post och password redirect för e-post med lösenord. |
Svar om lyckad åtgärd
Här är ett exempel på ett lyckat svar:
HTTP/1.1 200 OK
Content-Type: application/json
{
"continuation_token": "uY29tL2F1dGhlbnRpY..."
}
Parameter | Beskrivning |
---|---|
continuation_token |
Fortsättningstoken som Microsoft Entra returnerar. |
Om en app inte kan stödja en obligatorisk autentiseringsmetod av Microsoft Entra krävs en återställning till det webbaserade autentiseringsflödet. I det här scenariot informerar Microsoft Entra appen genom att returnera en typ av omdirigeringsutmaning i svaret:
HTTP/1.1 200 OK
Content-Type: application/json
{
"challenge_type": "redirect"
}
Parameter | Beskrivning |
---|---|
challenge_type |
Microsoft Entra returnerar ett svar som har en utmaningstyp. Värdet för den här utmaningstypen är omdirigering, vilket gör att appen kan använda det webbaserade autentiseringsflödet. |
Det här svaret anses vara lyckat, men appen krävs för att växla till ett webbaserat autentiseringsflöde. I det här fallet rekommenderar vi att du använder ett autentiseringsbibliotek som stöds av Microsoft.
Felsvar
Exempel:
HTTP/1.1 400 Bad Request
Content-Type: application/json
{
"error": "invalid_request",
"error_description": "AADSTS901007: The challenge_type list parameter does not include the 'redirect' type.\r\nTrace ID: 0000aaaa-11bb-cccc-dd22-eeeeee333333\r\nCorrelation ID: aaaa0000-bb11-2222-33cc-444444dddddd\r\nTimestamp: yyyy-...",
"error_codes": [
901007
],
"timestamp": "yyyy-mm-dd 10:15:00Z",
"trace_id": "0000aaaa-11bb-cccc-dd22-eeeeee333333",
"correlation_id": "aaaa0000-bb11-2222-33cc-444444dddddd"
}
Parameter | Beskrivning |
---|---|
error |
En felkodssträng som kan användas för att klassificera typer av fel och reagera på fel. |
error_description |
Ett specifikt felmeddelande som kan hjälpa dig att identifiera orsaken till ett autentiseringsfel. |
error_codes |
En lista över Microsoft Entra-specifika felkoder som kan hjälpa dig att diagnostisera fel. |
timestamp |
Den tid då felet inträffade. |
trace_id |
En unik identifierare för begäran som kan hjälpa dig att diagnostisera fel. |
correlation_id |
En unik identifierare för begäran som kan hjälpa till med diagnostik mellan komponenter. |
Här är de möjliga fel som du kan stöta på (möjliga värden för parametern error
):
Felvärde | Beskrivning |
---|---|
invalid_request |
Valideringen av begärandeparametern misslyckades, till exempel när parametern challenge_type innehåller en ogiltig utmaningstyp. eller om begäran inte innehöll client_id parametern är klient-ID-värdet tomt eller ogiltigt. Använd parametern error_description för att lära dig den exakta orsaken till felet. |
unauthorized_client |
Klient-ID:t som används i begäran har ett giltigt klient-ID-format, men finns inte i den externa klientorganisationen eller är felaktigt. |
invalid_client |
Det klient-ID som appen innehåller i begäran är för en app som saknar inbyggd autentiseringskonfiguration, till exempel att den inte är en offentlig klient eller inte är aktiverad för intern autentisering. Använd parametern suberror för att lära dig den exakta orsaken till felet. |
user_not_found |
Användarnamnet finns inte. |
unsupported_challenge_type |
Parametervärdet challenge_type innehåller inte utmaningstypen redirect . |
Om felparametern har värdet invalid_client innehåller Microsoft Entra en suberror
parameter i svaret. Här är de möjliga värdena för parametern suberror
för ett invalid_client fel:
Underordnat värde | Beskrivning |
---|---|
nativeauthapi_disabled |
Klient-ID för en app som inte är aktiverad för intern autentisering. |
Steg 2: Välj en autentiseringsmetod
För att fortsätta med flödet använder appen den fortsättningstoken som hämtas från föregående steg för att begära att Microsoft Entra väljer någon av de utmaningstyper som stöds för användaren att autentisera med. Appen skickar en POST-begäran till /challenge
slutpunkten.
Här är ett exempel på begäran (vi presenterar exempelbegäran på flera rader för läsbarhet):
POST https://{tenant_subdomain}.ciamlogin.com/{tenant_subdomain}.onmicrosoft.com/oauth2/v2.0/challenge
Content-Type: application/x-www-form-urlencoded
client_id=00001111-aaaa-2222-bbbb-3333cccc4444
&challenge_type=password redirect
&continuation_token=uY29tL2F1dGhlbnRpY...
Parameter | Krävs | Beskrivning |
---|---|---|
tenant_subdomain |
Ja | Underdomänen för den externa klientorganisation som du skapade. I URL:en ersätter du {tenant_subdomain} med underdomänen Katalog (klientorganisation). Om din klients primära domän till exempel är contoso.onmicrosoft.com använder du contoso. Om du inte har klientunderdomänen kan du läsa klientinformationen. |
client_id |
Ja | Program-ID :t (klient) för den app som du registrerade i administrationscentret för Microsoft Entra. |
continuation_token |
Ja | Fortsättningstoken som Microsoft Entra returnerade i föregående begäran. |
challenge_type |
Nej | En blankstegsavgränsad lista över auktoriseringsutmaningssträngar som appen stöder, till exempel oob password redirect . Listan måste alltid innehålla utmaningstypen redirect . Värdet förväntas oob redirect för engångslösenord för e-post och password redirect för e-post med lösenord. |
Svar om lyckad åtgärd
Om klientadministratören har konfigurerat engångslösenord för e-post i administrationscentret för Microsoft Entra som användarens autentiseringsmetod skickar Microsoft Entra ett engångslösenord till användarens e-post, svarar sedan med en utmaningstyp av oob och ger mer information om engångslösenordet.
HTTP/1.1 200 OK
Content-Type: application/json
{
"continuation_token": "uY29tL2F1dGhlbnRpY...",
"challenge_type": "oob",
"binding_method": "prompt ",
"challenge_channel": "email",
"challenge_target_label ": "c***r@co**o**o.com ",
"code_length": 8
}
Parameter | Beskrivning |
---|---|
continuation_token |
Fortsättningstoken som Microsoft Entra returnerar. |
challenge_type |
Utmaningstyp som valts för användaren att autentisera med. |
binding_method |
Det enda giltiga värdet är prompten. Den här parametern kan användas i framtiden för att erbjuda fler sätt för användaren att ange engångslösenordet. Utfärdad om challenge_type är oob |
challenge_channel |
Typ av kanal genom vilken engångslösenordet skickades. För närvarande stöder vi e-post. |
challenge_target_label |
Ett dolt e-postmeddelande där engångslösenordet skickades. |
code_length |
Längden på engångslösenordet som Microsoft Entra genererar. |
Om en app inte kan stödja en obligatorisk autentiseringsmetod av Microsoft Entra krävs en återställning till det webbaserade autentiseringsflödet. I det här scenariot informerar Microsoft Entra appen genom att returnera en typ av omdirigeringsutmaning i svaret:
HTTP/1.1 200 OK
Content-Type: application/json
{
"challenge_type": "redirect"
}
Parameter | Beskrivning |
---|---|
challenge_type |
Microsoft Entra returnerar ett svar som har en utmaningstyp. Värdet för den här utmaningstypen är omdirigering, vilket gör att appen kan använda det webbaserade autentiseringsflödet. |
Det här svaret anses vara lyckat, men appen krävs för att växla till ett webbaserat autentiseringsflöde. I det här fallet rekommenderar vi att du använder ett autentiseringsbibliotek som stöds av Microsoft.
Felsvar
Exempel:
HTTP/1.1 400 Bad Request
Content-Type: application/json
{
"error": "invalid_request",
"error_description": "AADSTS901007: The challenge_type list parameter does not include the 'redirect' type.\r\nTrace ID: 0000aaaa-11bb-cccc-dd22-eeeeee333333\r\nCorrelation ID: aaaa0000-bb11-2222-33cc-444444dddddd\r\nTimestamp: yyyy-...",
"error_codes": [
901007
],
"timestamp": "yyyy-mm-dd 10:15:00Z",
"trace_id": "0000aaaa-11bb-cccc-dd22-eeeeee333333",
"correlation_id": "aaaa0000-bb11-2222-33cc-444444dddddd"
}
Parameter | Beskrivning |
---|---|
error |
En felkodssträng som kan användas för att klassificera typer av fel och reagera på fel. |
error_description |
Ett specifikt felmeddelande som kan hjälpa dig att identifiera orsaken till ett autentiseringsfel. |
error_codes |
En lista över Microsoft Entra-specifika felkoder som kan hjälpa dig att diagnostisera fel. |
timestamp |
Den tid då felet inträffade. |
trace_id |
En unik identifierare för begäran som kan hjälpa dig att diagnostisera fel. |
correlation_id |
En unik identifierare för begäran som kan hjälpa till med diagnostik mellan komponenter. |
Här är de möjliga fel som du kan stöta på (möjliga värden för parametern error
):
Felvärde | Beskrivning |
---|---|
invalid_request |
Valideringen av begärandeparametern misslyckades, till exempel när parametern challenge_type innehåller en ogiltig utmaningstyp. |
invalid_grant |
Fortsättningstoken som ingår i begäran är inte giltig. |
expired_token |
Fortsättningstoken som ingår i begäran har upphört att gälla. |
unsupported_challenge_type |
Parametervärdet challenge_type innehåller inte utmaningstypen redirect . |
Steg 3: Begäran om säkerhetstoken
Appen skickar en POST-begäran till /token
slutpunkten och tillhandahåller användarens autentiseringsuppgifter som valdes i föregående steg, i det här fallet lösenord, för att hämta säkerhetstoken.
Här är ett exempel på begäran (vi presenterar exempelbegäran på flera rader för läsbarhet):
POST https://{tenant_subdomain}.ciamlogin.com/{tenant_subdomain}.onmicrosoft.com/oauth2/v2.0/token
Content-Type: application/x-www-form-urlencoded
continuation_token=uY29tL2F1dGhlbnRpY...
&client_id=00001111-aaaa-2222-bbbb-3333cccc4444
&grant_type=password
&password={secure_password}
&scope=openid offline_access
Parameter | Krävs | Beskrivning |
---|---|---|
tenant_subdomain |
Ja | Underdomänen för den externa klientorganisation som du skapade. I URL:en ersätter du {tenant_subdomain} med underdomänen Katalog (klientorganisation). Om din klients primära domän till exempel är contoso.onmicrosoft.com använder du contoso. Om du inte har klientunderdomänen kan du läsa klientinformationen. |
client_id |
Ja | Program-ID :t (klient) för den app som du registrerade i administrationscentret för Microsoft Entra. |
continuation_token |
Ja | Fortsättningstoken som Microsoft Entra returnerade i föregående begäran. |
grant_type |
Ja | Värdet måste vara lösenord för e-post med lösenordsautentiseringsmetod och oob för autentiseringsmetod för engångslösenord för e-post. |
scope |
Ja | En blankstegsavgränsad lista med omfång. Alla omfång måste komma från en enskild resurs, tillsammans med OpenID Connect-omfång (OIDC), till exempel profil, *openid och e-post. Appen måste innehålla openid-omfång för Att Microsoft Entra ska kunna utfärda en ID-token. Appen måste innehålla offline_access omfång för Microsoft Entra för att utfärda en uppdateringstoken. Läs mer om behörigheter och medgivande i Microsofts identitetsplattform. |
password |
Ja (för e-post med lösenord) |
Det lösenordsvärde som appen samlar in från kundanvändaren. Ersätt {secure_password} med det lösenordsvärde som appen samlar in från kundanvändaren. |
oob |
Ja (för engångslösenord för e-post) |
Engångslösenordet som kundanvändaren fick i sin e-post. Ersätt {otp_code} med engångslösenordet som kundanvändaren fick i sin e-post. Om du vill skicka ett engångslösenord igen måste appen göra en begäran till /challenge slutpunkten igen. |
Lyckat svar
Här är ett exempel på ett lyckat svar:
HTTP/1.1 200 OK
Content-Type: application/json
{
"token_type": "Bearer",
"scope": "openid profile",
"expires_in": 4141,
"access_token": "eyJ0eXAiOiJKV1Qi...",
"refresh_token": "AwABAAAA...",
"id_token": "eyJ0eXAiOiJKV1Q..."
}
Parameter | Beskrivning |
---|---|
token_type |
Anger värdet för tokentyp. Den enda typ som Microsoft Entra stöder är Bearer. |
scopes |
En blankstegsavgränsad lista över omfång som åtkomsttoken är giltig för. |
expires_in |
Hur lång tid i sekunder åtkomsttoken förblir giltig. |
access_token |
Åtkomsttoken som appen begärde från /token slutpunkten. Appen kan använda den här åtkomsttoken för att begära åtkomst till skyddade resurser, till exempel webb-API:er. |
refresh_token |
En OAuth 2.0-uppdateringstoken. Appen kan använda den här token för att hämta andra åtkomsttoken när den aktuella åtkomsttoken upphör att gälla. Uppdateringstoken är långlivade. De kan upprätthålla åtkomsten till resurser under längre perioder. Mer information om hur du uppdaterar en åtkomsttoken finns i artikeln Uppdatera åtkomsttoken . Obs! Utfärdas endast om du begär offline_access omfång. |
id_token |
En JSON-webbtoken (Jwt) som används för att identifiera kundanvändaren. Appen kan avkoda token för att begära information om användaren som loggade in. Appen kan cachelagras värdena och visa dem, och konfidentiella klienter kan använda den här token för auktorisering. Mer information om ID-token finns i ID-token. Obs! Utfärdas endast om du begär openid-omfång . |
Felsvar
Exempel:
HTTP/1.1 400 Bad Request
Content-Type: application/json
{
"error": "invalid_grant",
"error_description": "AADSTS901007: Error validating credentials due to invalid username or password.\r\nTrace ID: 0000aaaa-11bb-cccc-dd22-eeeeee333333\r\nCorrelation ID: aaaa0000-bb11-2222-33cc-444444dddddd\r\nTimestamp: yyyy-...",
"error_codes": [
50126
],
"timestamp": "yyyy-mm-dd 10:15:00Z",
"trace_id": "0000aaaa-11bb-cccc-dd22-eeeeee333333",
"correlation_id": "aaaa0000-bb11-2222-33cc-444444dddddd"
}
Parameter | Beskrivning |
---|---|
error |
En felkodssträng som kan användas för att klassificera typer av fel och reagera på fel. |
error_description |
Ett specifikt felmeddelande som kan hjälpa dig att identifiera orsaken till ett autentiseringsfel. |
error_codes |
En lista över Microsoft Entra-specifika felkoder som kan hjälpa dig att diagnostisera fel. |
timestamp |
Den tid då felet inträffade. |
trace_id |
En unik identifierare för begäran som kan hjälpa dig att diagnostisera fel. |
correlation_id |
En unik identifierare för begäran som kan hjälpa till med diagnostik mellan komponenter. |
Här är de möjliga fel som du kan stöta på (möjliga värden för parametern error
):
Felvärde | Beskrivning |
---|---|
invalid_request |
Valideringen av begärandeparametern misslyckades. Om du vill förstå vad som hände använder du meddelandet i felbeskrivningen. |
invalid_grant |
Fortsättningstoken som ingår i begäran är inte giltig eller så är autentiseringsuppgifterna för kundanvändare som ingår i begäran ogiltiga eller så är den beviljandetyp som ingår i begäran okänd. |
invalid_client |
Klient-ID:t som ingår i begäran är inte för en offentlig klient. |
expired_token |
Fortsättningstoken som ingår i begäran har upphört att gälla. |
invalid_scope |
En eller flera av de omfång som ingår i begäran är ogiltiga. |
Om felparametern har värdet invalid_grant innehåller Microsoft Entra en suberror
parameter i svaret. Här är de möjliga värdena för parametern suberror
för ett invalid_grant fel:
Underordnat värde | Beskrivning |
---|---|
invalid_oob_value |
Värdet för engångslösenord är ogiltigt. Det här underfelet gäller endast engångslösenord för e-post |
Självbetjäning av lösenordsåterställning (SSPR)
Om du använder e-post och lösenord som autentiseringsmetod i din app använder du API:et för självbetjäning av lösenordsåterställning (SSPR) för att göra det möjligt för kundanvändare att återställa sitt lösenord. Använd det här API:et för att glömma lösenord eller ändra lösenordsscenarier.
API-slutpunkter för lösenordsåterställning med självbetjäning
Om du vill använda det här API:et interagerar appen med slutpunkten som visas i följande tabell:
Slutpunkt | Beskrivning |
---|---|
/start |
Din app anropar den här slutpunkten när kundanvändaren väljer Länken eller knappen Glömt lösenord eller Ändra lösenord i appen. Den här slutpunkten validerar användarens användarnamn (e-post) och returnerar sedan en fortsättningstoken för användning i flödet för lösenordsåterställning. Om din app begär att använda autentiseringsmetoder som inte stöds av Microsoft Entra kan det här slutpunktssvaret indikera för din app att den behöver använda ett webbläsarbaserat autentiseringsflöde. |
/challenge |
Accepterar en lista över utmaningstyper som stöds av klienten och fortsättningstoken. En utmaning utfärdas till en av de önskade återställningsuppgifterna. Till exempel utfärdar oob challenge ett out-of-band engångslösenord till e-postmeddelandet som är associerat med kundens användarkonto. Om din app begär att använda autentiseringsmetoder som inte stöds av Microsoft Entra kan det här slutpunktssvaret indikera för din app att den behöver använda ett webbläsarbaserat autentiseringsflöde. |
/continue |
Validerar den utmaning som utfärdas av /challenge slutpunkten och returnerar sedan antingen en fortsättningstoken för /submit slutpunkten eller utfärdar en annan utmaning till användaren. |
/submit |
Accepterar en ny lösenordsinmatning av användaren tillsammans med fortsättningstoken för att slutföra flödet för lösenordsåterställning. Den här slutpunkten utfärdar en annan fortsättningstoken. |
/poll_completion |
Slutligen kan appen använda fortsättningstoken som utfärdats av /submit slutpunkten för att kontrollera statusen för begäran om lösenordsåterställning. |
Utmaningstyper för självbetjäning av lösenordsåterställning
MED API:et kan appen annonsera de autentiseringsmetoder som den stöder när den anropar Microsoft Entra. För att göra det använder appen parametern challenge_type
i sina begäranden. Den här parametern innehåller fördefinierade värden som representerar olika autentiseringsmetoder.
För SSPR-flödet är utmaningstypvärdena oob och omdirigering.
Läs mer om utmaningstyper i de inbyggda autentiseringsutmaningstyperna.
Protokollinformation för självbetjäning av lösenordsåterställningsflöde
Sekvensdiagrammet visar flödet för processen för lösenordsåterställning.
Det här diagrammet anger att appen samlar in användarnamn (e-post) och lösenord från användaren vid olika tidpunkter (och eventuellt på separata skärmar). Du kan dock utforma din app för att samla in användarnamnet (e-postmeddelandet) och det nya lösenordet på samma skärm. I det här fallet innehåller appen lösenordet och skickar det sedan via slutpunkten /submit
där det krävs.
Steg 1: Begäran om att starta självbetjäningsflödet för lösenordsåterställning
Flödet för lösenordsåterställning börjar med att appen gör en POST-begäran till /start
slutpunkten för att starta självbetjäningsflödet för lösenordsåterställning.
Här är ett exempel på begäran (vi presenterar exempelbegäran på flera rader för läsbarhet):
POST https://{tenant_subdomain}.ciamlogin.com/{tenant_subdomain}.onmicrosoft.com/resetpassword/v1.0/start
Content-Type: application/x-www-form-urlencoded
client_id=00001111-aaaa-2222-bbbb-3333cccc4444
&challenge_type=oob redirect
&username=contoso-consumer@contoso.com
Parameter | Krävs | Beskrivning |
---|---|---|
tenant_subdomain |
Ja | Underdomänen för den externa klientorganisation som du skapade. I URL:en ersätter du {tenant_subdomain} med underdomänen Katalog (klientorganisation). Om din klients primära domän till exempel är contoso.onmicrosoft.com använder du contoso. Om du inte har klientunderdomänen kan du läsa klientinformationen. |
client_id |
Ja | Program-ID :t (klient) för den app som du registrerade i administrationscentret för Microsoft Entra. |
username |
Ja | E-post för kundanvändaren, till exempel contoso-consumer@contoso.com. |
challenge_type |
Ja | En blankstegsavgränsad lista över auktoriseringsutmaningssträngar som appen stöder, till exempel oob password redirect . Listan måste alltid innehålla utmaningstypen redirect . För den här begäran förväntas värdet innehålla oob redirect . |
Svar om lyckad åtgärd
Exempel:
HTTP/1.1 200 OK
Content-Type: application/json
{
"continuation_token": "uY29tL2F1dGhlbnRpY..."
}
Parameter | Beskrivning |
---|---|
continuation_token |
Fortsättningstoken som Microsoft Entra returnerar. |
Om en app inte kan stödja en obligatorisk autentiseringsmetod av Microsoft Entra krävs en återställning till det webbaserade autentiseringsflödet. I det här scenariot informerar Microsoft Entra appen genom att returnera en typ av omdirigeringsutmaning i svaret:
HTTP/1.1 200 OK
Content-Type: application/json
{
"challenge_type": "redirect"
}
Parameter | Beskrivning |
---|---|
challenge_type |
Microsoft Entra returnerar ett svar som har en utmaningstyp. Värdet för den här utmaningstypen är omdirigering, vilket gör att appen kan använda det webbaserade autentiseringsflödet. |
Det här svaret anses vara lyckat, men appen krävs för att växla till ett webbaserat autentiseringsflöde. I det här fallet rekommenderar vi att du använder ett autentiseringsbibliotek som stöds av Microsoft.
Felsvar
Exempel:
HTTP/1.1 400 Bad Request
Content-Type: application/json
{
"error": "invalid_request",
"error_description": "AADSTS901007: The challenge_type list parameter does not include the 'redirect' type.\r\nTrace ID: 0000aaaa-11bb-cccc-dd22-eeeeee333333\r\nCorrelation ID: aaaa0000-bb11-2222-33cc-444444dddddd\r\nTimestamp: yyyy-...",
"error_codes": [
901007
],
"timestamp": "yyyy-mm-dd 10:15:00Z",
"trace_id": "0000aaaa-11bb-cccc-dd22-eeeeee333333",
"correlation_id": "aaaa0000-bb11-2222-33cc-444444dddddd"
}
Parameter | Beskrivning |
---|---|
error |
En felkodssträng som kan användas för att klassificera typer av fel och reagera på fel. |
error_description |
Ett specifikt felmeddelande som kan hjälpa dig att identifiera orsaken till ett autentiseringsfel. |
error_codes |
En lista över Microsoft Entra-specifika felkoder som kan hjälpa dig att diagnostisera fel. |
timestamp |
Den tid då felet inträffade. |
trace_id |
En unik identifierare för begäran som kan hjälpa dig att diagnostisera fel. |
correlation_id |
En unik identifierare för begäran som kan hjälpa till med diagnostik mellan komponenter. |
Här är de möjliga fel som du kan stöta på (möjliga värden för parametern error
):
Felvärde | Beskrivning |
---|---|
invalid_request |
Verifieringen av begärandeparametern misslyckades, till exempel när parametern challenge_type innehåller en ogiltig utmaningstyp eller om begäran inte innehöll client_id parametern som klient-ID-värdet är tomt eller ogiltigt. Använd parametern error_description för att lära dig den exakta orsaken till felet. |
user_not_found |
Användarnamnet finns inte. |
unsupported_challenge_type |
Parametervärdet challenge_type innehåller inte utmaningstypen redirect . |
invalid_client |
Det klient-ID som appen innehåller i begäran är för en app som saknar inbyggd autentiseringskonfiguration, till exempel att den inte är en offentlig klient eller inte är aktiverad för intern autentisering. Använd parametern suberror för att lära dig den exakta orsaken till felet. |
unauthorized_client |
Klient-ID:t som används i begäran har ett giltigt klient-ID-format, men finns inte i den externa klientorganisationen eller är felaktigt. |
Om felparametern har värdet invalid_client innehåller Microsoft Entra en suberror
parameter i svaret. Här är de möjliga värdena för parametern suberror
för ett invalid_client fel:
Underordnat värde | Beskrivning |
---|---|
nativeauthapi_disabled |
Klient-ID för en app som inte är aktiverad för intern autentisering. |
Steg 2: Välj en autentiseringsmetod
För att fortsätta med flödet använder appen fortsättningstoken som hämtades från föregående steg för att begära att Microsoft Entra väljer någon av de utmaningstyper som stöds för användaren att autentisera med. Appen skickar en POST-begäran till /challenge
slutpunkten. Om den här begäran lyckas skickar Microsoft Entra ett engångslösenord till användarens konto-e-post. För närvarande stöder vi endast e-post-OTP.
Här är ett exempel (vi presenterar exempelbegäran på flera rader för läsbarhet):
POST https://{tenant_subdomain}.ciamlogin.com/{tenant_subdomain}.onmicrosoft.com/resetpassword/v1.0/challenge
Content-Type: application/x-www-form-urlencoded
client_id=client_id=00001111-aaaa-2222-bbbb-3333cccc4444
&challenge_type=oob redirect
&continuation_token=uY29tL2F1dGhlbnRpY...
Parameter | Krävs | Beskrivning |
---|---|---|
tenant_subdomain |
Ja | Underdomänen för den externa klientorganisation som du skapade. I URL:en ersätter du {tenant_subdomain} med underdomänen Katalog (klientorganisation). Om din klients primära domän till exempel är contoso.onmicrosoft.com använder du contoso. Om du inte har klientunderdomänen kan du läsa klientinformationen. |
client_id |
Ja | Program-ID :t (klient) för den app som du registrerade i administrationscentret för Microsoft Entra. |
continuation_token |
Ja | Fortsättningstoken som Microsoft Entra returnerade i föregående begäran. |
challenge_type |
Nej | En blankstegsavgränsad lista över auktoriseringsutmaningssträngar som appen stöder, till exempel oob redirect . Listan måste alltid innehålla utmaningstypen redirect . För den här begäran förväntas värdet innehålla oob redirect . |
Svar om lyckad åtgärd
Exempel:
HTTP/1.1 200 OK
Content-Type: application/json
{
"continuation_token": "uY29tL2F1dGhlbnRpY...",
"challenge_type": "oob",
"binding_method": "prompt ",
"challenge_channel": "email",
"challenge_target_label ": "c***r@co**o**o.com ",
"code_length": 8
}
Parameter | Beskrivning |
---|---|
continuation_token |
Fortsättningstoken som Microsoft Entra returnerar. |
challenge_type |
Utmaningstyp som valts för användaren att autentisera med. |
binding_method |
Det enda giltiga värdet är prompten. Den här parametern kan användas i framtiden för att erbjuda fler sätt för användaren att ange engångslösenordet. Utfärdad om challenge_type är oob |
challenge_channel |
Typ av kanal genom vilken engångslösenordet skickades. För närvarande stöder vi e-post. |
challenge_target_label |
Ett dolt e-postmeddelande där engångslösenordet skickades. |
code_length |
Längden på engångslösenordet som Microsoft Entra genererar. |
Om en app inte kan stödja en obligatorisk autentiseringsmetod av Microsoft Entra krävs en återställning till det webbaserade autentiseringsflödet. I det här scenariot informerar Microsoft Entra appen genom att returnera en typ av omdirigeringsutmaning i svaret:
HTTP/1.1 200 OK
Content-Type: application/json
{
"challenge_type": "redirect"
}
Parameter | Beskrivning |
---|---|
challenge_type |
Microsoft Entra returnerar ett svar som har en utmaningstyp. Värdet för den här utmaningstypen är omdirigering, vilket gör att appen kan använda det webbaserade autentiseringsflödet. |
Det här svaret anses vara lyckat, men appen krävs för att växla till ett webbaserat autentiseringsflöde. I det här fallet rekommenderar vi att du använder ett autentiseringsbibliotek som stöds av Microsoft.
Felsvar
Exempel:
HTTP/1.1 400 Bad Request
Content-Type: application/json
{
"error": "invalid_request",
"error_description": "AADSTS901007: The challenge_type list parameter does not include the 'redirect' type.\r\nTrace ID: 0000aaaa-11bb-cccc-dd22-eeeeee333333\r\nCorrelation ID: aaaa0000-bb11-2222-33cc-444444dddddd\r\nTimestamp: yyyy-...",
"error_codes": [
901007
],
"timestamp": "yyyy-mm-dd 10:15:00Z",
"trace_id": "0000aaaa-11bb-cccc-dd22-eeeeee333333",
"correlation_id": "aaaa0000-bb11-2222-33cc-444444dddddd"
}
Parameter | Beskrivning |
---|---|
error |
En felkodssträng som kan användas för att klassificera typer av fel och reagera på fel. |
error_description |
Ett specifikt felmeddelande som kan hjälpa dig att identifiera orsaken till ett autentiseringsfel. |
error_codes |
En lista över Microsoft Entra-specifika felkoder som kan hjälpa dig att diagnostisera fel. |
timestamp |
Den tid då felet inträffade. |
trace_id |
En unik identifierare för begäran som kan hjälpa dig att diagnostisera fel. |
correlation_id |
En unik identifierare för begäran som kan hjälpa till med diagnostik mellan komponenter. |
Här är de möjliga fel som du kan stöta på (möjliga värden för parametern error
):
Felvärde | Beskrivning |
---|---|
invalid_request |
Valideringen av begärandeparametern misslyckades, till exempel när parametern challenge_type innehåller en ogiltig utmaningstyp eller om valideringen av fortsättningstoken misslyckades. |
expired_token |
Fortsättningstoken har upphört att gälla. |
unsupported_challenge_type |
Parametervärdet challenge_type innehåller inte utmaningstypen redirect . |
Steg 3: Skicka engångslösenord
Appen skickar sedan en POST-begäran till /continue
slutpunkten. I begäran måste appen inkludera användarens autentiseringsuppgifter som valdes i föregående steg och fortsättningstoken som utfärdades från /challenge
slutpunkten.
Här är ett exempel på begäran (vi presenterar exempelbegäran på flera rader för läsbarhet):
POST https://{tenant_subdomain}.ciamlogin.com/{tenant_subdomain}.onmicrosoft.com/resetpassword/v1.0/continue
Content-Type: application/x-www-form-urlencoded
continuation_token=uY29tL2F1dGhlbnRpY...
&client_id=00001111-aaaa-2222-bbbb-3333cccc4444
&grant_type=oob
&oob={otp_code}
Parameter | Krävs | Beskrivning |
---|---|---|
tenant_subdomain |
Ja | Underdomänen för den externa klientorganisation som du skapade. I URL:en ersätter du {tenant_subdomain} med underdomänen Katalog (klientorganisation). Om din klients primära domän till exempel är contoso.onmicrosoft.com använder du contoso. Om du inte har klientunderdomänen kan du läsa klientinformationen. |
continuation_token |
Ja | Fortsättningstoken som Microsoft Entra returnerade i föregående begäran. |
client_id |
Ja | Program-ID :t (klient) för den app som du registrerade i administrationscentret för Microsoft Entra. |
grant_type |
Ja | Det enda giltiga värdet är oob. |
oob |
Ja | Engångslösenordet som kundanvändaren fick i sin e-post. Ersätt {otp_code} med engångslösenordet som kundanvändaren fick i sin e-post. Om du vill skicka ett engångslösenord igen måste appen göra en begäran till /challenge slutpunkten igen. |
Svar om lyckad åtgärd
Exempel:
HTTP/1.1 200 OK
Content-Type: application/json
{
"expires_in": 600,
"continuation_token": "czZCaGRSa3F0MzpnW...",
}
Parameter | Beskrivning |
---|---|
expires_in |
Tid i sekunder innan continuation_token upphör att gälla. Det maximala värdet expires_in är 600 sekunder. |
continuation_token |
Fortsättningstoken som Microsoft Entra returnerar. |
Felsvar
Exempel:
HTTP/1.1 400 Bad Request
Content-Type: application/json
{
"error": "invalid_request",
"error_description": "AADSTS55200: The continuation_token is invalid.\r\nTrace ID: 0000aaaa-11bb-cccc-dd22-eeeeee333333\r\nCorrelation ID: aaaa0000-bb11-2222-33cc-444444dddddd\r\nTimestamp: yyyy-...",
"error_codes": [
55200
],
"timestamp": "yyyy-mm-dd 10:15:00Z",
"trace_id": "0000aaaa-11bb-cccc-dd22-eeeeee333333",
"correlation_id": "aaaa0000-bb11-2222-33cc-444444dddddd"
}
Parameter | Beskrivning |
---|---|
error |
En felkodssträng som kan användas för att klassificera typer av fel och reagera på fel. |
error_description |
Ett specifikt felmeddelande som kan hjälpa dig att identifiera orsaken till ett autentiseringsfel. |
error_codes |
En lista över Microsoft Entra-specifika felkoder som kan hjälpa dig att diagnostisera fel. |
timestamp |
Den tid då felet inträffade. |
trace_id |
En unik identifierare för begäran som kan hjälpa dig att diagnostisera fel. |
correlation_id |
En unik identifierare för begäran som kan hjälpa till med diagnostik mellan komponenter. |
suberror |
En felkodssträng som kan användas för att ytterligare klassificera typer av fel. |
Här är de möjliga fel som du kan stöta på (möjliga värden för parametern error
):
Felvärde | Beskrivning |
---|---|
invalid_request |
Valideringen av begäransparameter misslyckades, till exempel en validering av fortsättningstoken misslyckades eller så innehöll client_id begäran inte parametern att klient-ID-värdet är tomt eller ogiltigt eller att den externa klientadministratören inte har aktiverat SSPR och otp för e-post för alla klientanvändare. Använd parametern error_description för att lära dig den exakta orsaken till felet. |
invalid_grant |
Beviljandetypen är okänd eller matchar inte värdet för den förväntade beviljandetypen. Använd parametern suberror för att lära dig den exakta orsaken till felet. |
expired_token |
Fortsättningstoken har upphört att gälla. |
Om felparametern har värdet invalid_grant innehåller Microsoft Entra en suberror
parameter i svaret. Här är de möjliga värdena för parametern suberror
för ett invalid_grant fel:
Underordnat värde | Beskrivning |
---|---|
invalid_oob_value |
Engångslösenordet som tillhandahålls av användaren är ogiltigt. |
Steg 4: Skicka ett nytt lösenord
Appen samlar in ett nytt lösenord från användaren och använder sedan fortsättningstoken som utfärdats av /continue
slutpunkten för att skicka lösenordet genom att göra en POST-begäran till /submit
slutpunkten.
Här är ett exempel (vi presenterar exempelbegäran på flera rader för läsbarhet):
POST https://{tenant_subdomain}.ciamlogin.com/{tenant_subdomain}.onmicrosoft.com/resetpassword/v1.0/submit
Content-Type: application/x-www-form-urlencoded
client_id=00001111-aaaa-2222-bbbb-3333cccc4444
&continuation_token=czZCaGRSa3F0Mzp...
&new_password={new_password}
Parameter | Krävs | Beskrivning |
---|---|---|
tenant_subdomain |
Ja | Underdomänen för den externa klientorganisation som du skapade. I URL:en ersätter du {tenant_subdomain} med underdomänen Katalog (klientorganisation). Om din klients primära domän till exempel är contoso.onmicrosoft.com använder du contoso. Om du inte har klientunderdomänen kan du läsa klientinformationen. |
continuation_token |
Ja | Fortsättningstoken som Microsoft Entra returnerade i föregående begäran. |
client_id |
Ja | Program-ID :t (klient) för den app som du registrerade i administrationscentret för Microsoft Entra. |
new_password |
Ja | Användarens nya lösenord. Ersätt {new_password} med användarens nya lösenord. Det är ditt ansvar att bekräfta att användaren är medveten om det lösenord de vill använda genom att ange fältet bekräfta lösenord i appens användargränssnitt. Du måste också se till att användaren är medveten om vad som utgör ett starkt lösenord enligt organisationens princip. Läs mer om Microsoft Entras lösenordsprinciper. |
Svar om lyckad åtgärd
Exempel:
HTTP/1.1 200 OK
Content-Type: application/json
{
"continuation_token": "uY29tL2F1dGhlbnRpY...",
"poll_interval": 2
}
Parameter | Beskrivning |
---|---|
continuation_token |
Fortsättningstoken som Microsoft Entra returnerar. |
poll_interval |
Den minsta tid i sekunder som appen ska vänta mellan avsökningsbegäranden för att kontrollera status för begäran om lösenordsåterställning via /poll_completion slutpunkten, se steg 5 |
Felsvar
Exempel:
HTTP/1.1 400 Bad Request
Content-Type: application/json
{
"error": "invalid_request",
"error_description": "AADSTS901007: The challenge_type list parameter does not include the 'redirect' type.\r\nTrace ID: 0000aaaa-11bb-cccc-dd22-eeeeee333333\r\nCorrelation ID: aaaa0000-bb11-2222-33cc-444444dddddd\r\nTimestamp: yyyy-...",
"error_codes": [
901007
],
"timestamp": "yyyy-mm-dd 10:15:00Z",
"trace_id": "0000aaaa-11bb-cccc-dd22-eeeeee333333",
"correlation_id": "aaaa0000-bb11-2222-33cc-444444dddddd"
}
Parameter | Beskrivning |
---|---|
error |
En felkodssträng som kan användas för att klassificera typer av fel och reagera på fel. |
error_description |
Ett specifikt felmeddelande som kan hjälpa dig att identifiera orsaken till ett autentiseringsfel. |
error_codes |
En lista över Microsoft Entra-specifika felkoder som kan hjälpa dig att diagnostisera fel. |
timestamp |
Den tid då felet inträffade. |
trace_id |
En unik identifierare för begäran som kan hjälpa dig att diagnostisera fel. |
correlation_id |
En unik identifierare för begäran som kan hjälpa till med diagnostik mellan komponenter. |
suberror |
En felkodssträng som kan användas för att ytterligare klassificera typer av fel. |
Här är de möjliga fel som du kan stöta på (möjliga värden för parametern error
):
Felvärde | Beskrivning |
---|---|
invalid_request |
Valideringen av begärandeparametern misslyckades, till exempel en validering av fortsättningstoken misslyckades. |
expired_token |
Fortsättningstoken har upphört att gälla. |
invalid_grant |
Det angivna beviljandet är ogiltigt, till exempel att lösenordet som skickas är för kort. Använd parametern suberror för att lära dig den exakta orsaken till felet. |
Om felparametern har värdet invalid_grant innehåller Microsoft Entra en suberror
parameter i svaret. Här är de möjliga värdena för parametern suberror
:
Underordnat värde | Beskrivning |
---|---|
password_too_weak |
Lösenordet är för svagt eftersom det inte uppfyller komplexitetskraven. Läs mer om Microsoft Entras lösenordsprinciper. |
password_too_short |
Nytt lösenord är färre än 8 tecken. Läs mer om Microsoft Entras lösenordsprinciper. |
password_too_long |
Nytt lösenord är längre än 256 tecken. Läs mer om Microsoft Entras lösenordsprinciper. |
password_recently_used |
Det nya lösenordet får inte vara detsamma som det som nyligen använts. Läs mer om Microsoft Entras lösenordsprinciper. |
password_banned |
Nytt lösenord innehåller ett ord, en fras eller ett mönster som är förbjudet. Läs mer om Microsoft Entras lösenordsprinciper. |
password_is_invalid |
Lösenordet är ogiltigt, till exempel eftersom det använder otillåtna tecken. Läs mer om Microsoft Entras lösenordsprinciper. Det här svaret är möjligt om appen skickar ett användarlösenord. |
Steg 5: Sök efter status för lösenordsåterställning
Eftersom uppdateringen av användarens konfiguration med det nya lösenordet medför viss fördröjning kan appen använda /poll_completion
slutpunkten för att söka efter status för lösenordsåterställning i Microsoft Entra. Den minsta tid i sekunder som appen ska vänta mellan avsökningsbegäranden returneras från /submit
slutpunkten i parametern poll_interval
.
Här är ett exempel (vi presenterar exempelbegäran på flera rader för läsbarhet):
POST https://{tenant_subdomain}.ciamlogin.com/{tenant_subdomain}.onmicrosoft.com/resetpassword/v1.0/poll_completion
Content-Type: application/x-www-form-urlencoded
client_id=00001111-aaaa-2222-bbbb-3333cccc4444
&continuation_token=czZCaGRSa3F0...
Parameter | Krävs | Beskrivning |
---|---|---|
tenant_subdomain |
Ja | Underdomänen för den externa klientorganisation som du skapade. I URL:en ersätter du {tenant_subdomain} med underdomänen Katalog (klientorganisation). Om din klients primära domän till exempel är contoso.onmicrosoft.com använder du contoso. Om du inte har klientunderdomänen kan du läsa klientinformationen. |
continuation_token |
Ja | Fortsättningstoken som Microsoft Entra returnerade i föregående begäran. |
client_id |
Ja | Program-ID :t (klient) för den app som du registrerade i administrationscentret för Microsoft Entra. |
Svar om lyckad åtgärd
Exempel:
HTTP/1.1 200 OK
Content-Type: application/json
{
"status": "succeeded",
"continuation_token":"czZCaGRSa3F0..."
}
Parameter | Beskrivning |
---|---|
status |
Status för begäran om återställningslösenord. Om Microsoft Entra returnerar statusen misslyckad kan appen skicka det nya lösenordet igen genom att göra en annan begäran till /submit slutpunkten och inkludera den nya fortsättningstoken. |
continuation_token |
Fortsättningstoken som Microsoft Entra returnerar. Om statusen lyckas kan appen använda fortsättningstoken som Microsoft Entra returnerar för att begära säkerhetstoken via slutpunkten enligt beskrivningen /token i steg 5 i registreringsflödet. Det innebär att när en användare har återställt sitt lösenord kan du logga in dem direkt i din app utan att initiera ett nytt inloggningsflöde. |
Här är de möjliga statusar som Microsoft Entra returnerar (möjliga värden för parametern status
):
Felvärde | Beskrivning |
---|---|
succeeded |
Lösenordsåterställningen har slutförts. |
failed |
Lösenordsåterställningen misslyckades. Appen kan skicka det nya lösenordet igen genom att göra en annan begäran till /submit slutpunkten. |
not_started |
Lösenordsåterställningen har inte startats. Appen kan kontrollera statusen igen senare. |
in_progress |
Lösenordsåterställning pågår. Appen kan kontrollera statusen igen senare. |
Felsvar
Exempel:
HTTP/1.1 400 Bad Request
Content-Type: application/json
{
"error": "expired_token",
"error_description": "AADSTS901007: The continuation_token is expired.\r\nTrace ID: 0000aaaa-11bb-cccc-dd22-eeeeee333333\r\nCorrelation ID: aaaa0000-bb11-2222-33cc-444444dddddd\r\nTimestamp: yyyy-...",
"error_codes": [
552003
],
"timestamp": "yyyy-mm-dd 10:15:00Z",
"trace_id": "0000aaaa-11bb-cccc-dd22-eeeeee333333",
"correlation_id": "aaaa0000-bb11-2222-33cc-444444dddddd"
}
Parameter | Beskrivning |
---|---|
error |
En felkodssträng som kan användas för att klassificera typer av fel och reagera på fel. |
error_description |
Ett specifikt felmeddelande som kan hjälpa dig att identifiera orsaken till ett autentiseringsfel. |
error_codes |
En lista över Microsoft Entra-specifika felkoder som kan hjälpa dig att diagnostisera fel. |
timestamp |
Den tid då felet inträffade. |
trace_id |
En unik identifierare för begäran som kan hjälpa dig att diagnostisera fel. |
correlation_id |
En unik identifierare för begäran som kan hjälpa till med diagnostik mellan komponenter. |
Här är de möjliga fel som du kan stöta på (möjliga värden för parametern error
):
Felvärde | Beskrivning |
---|---|
invalid_request |
Valideringen av begärandeparametern misslyckades, till exempel att valideringen av fortsättningstoken misslyckades. |
expired_token |
Fortsättningstoken har upphört att gälla. |