Sdílet prostřednictvím


Referenční informace k nativnímu rozhraní API pro ověřování

Platí pro: Bílý kruh se šedým symbolem X. Tenanti pracovních sil – externí tenanti Zelený kruh s bílým symbolem zaškrtnutí (další informace)

Nativní ověřování Microsoft Entra umožňuje hostovat uživatelské rozhraní vaší aplikace v klientské aplikaci místo delegování ověřování do prohlížečů, což vede k nativnímu integrovanému ověřování. Jako vývojář máte plnou kontrolu nad vzhledem a chováním přihlašovacího rozhraní.

Tento článek s referenčními informacemi k rozhraní API popisuje podrobnosti potřebné pouze v případě, že ručně provedete nezpracované požadavky HTTP ke spuštění toku. Tento přístup ale nedoporučujeme. Pokud je to možné, použijte sadu SDK pro ověřování vytvořenou a podporovanou společností Microsoft. Další informace o tom, jak používat sadu SDK, najdete v kurzu : Příprava mobilní aplikace pro Android na nativní ověřování a kurz: Příprava mobilní aplikace pro iOS na nativní ověřování.

Když je volání koncových bodů rozhraní API úspěšné, obdržíte token ID pro identifikaci uživatele i přístupový token pro volání chráněných rozhraní API. Všechny odpovědi z rozhraní API jsou ve formátu JSON.

Nativní rozhraní API pro ověřování Microsoft Entra podporuje registraci a přihlašování pro dvě metody ověřování:

  • E-mail s heslem, který podporuje registraci a přihlášení pomocí e-mailu a hesla a samoobslužného resetování hesla (SSPR).

  • Jednorázové heslo e-mailu, které podporuje registraci a přihlášení pomocí jednorázového hesla e-mailu.

Poznámka:

V současné době nativní koncové body rozhraní API pro ověřování nepodporují sdílení prostředků mezi zdroji (CORS).

Požadavky

  1. Microsoft Entra Externí ID pro tenanta zákazníků. Pokud ho ještě nemáte, zaregistrujte si bezplatnou zkušební verzi.

  2. Pokud jste to ještě neudělali, zaregistrujte aplikaci v Centru pro správu Microsoft Entra. Ujistěte se, že jste udělili delegovaná oprávnění, a povolte toky veřejného klienta a nativního ověřování.

  3. Pokud jste to ještě neudělali, vytvořte tok uživatele v Centru pro správu Microsoft Entra. Při vytváření toku uživatele si poznamenejte atributy uživatele, které nakonfigurujete, protože tyto atributy jsou ty, které Microsoft Entra očekává, že vaše aplikace odešle. V části Zprostředkovatelé identity vyberte možnost Jednorázové heslo e-mail.

  4. Přidružte registraci aplikace k toku uživatele.

  5. V případě toku přihlašování zaregistrujte uživatele zákazníka, kterého použijete k otestování rozhraní API pro přihlášení. Alternativně můžete tohoto testovacího uživatele získat po spuštění toku registrace.

  6. V případě toku SSPR povolte samoobslužné resetování hesla pro uživatele zákazníků v tenantovi zákazníka. SSPR je k dispozici pro uživatele zákazníka, kteří používají e-mail s metodou ověřování hesla.

Token pokračování

Pokaždé, když zavoláte koncový bod v libovolném toku, přihlášení, registraci nebo SSPR, koncový bod do odpovědi zahrne token pro pokračování. Token pro pokračování je jedinečný identifikátor Microsoft Entra ID, který používá k udržování stavu mezi voláními různých koncových bodů v rámci stejného toku. Tento token musíte zahrnout do následných požadavků ve stejném toku.

Každý token pokračování je platný pro určité období a lze ho použít pouze pro následné požadavky v rámci stejného toku.

Referenční informace k rozhraní API pro registraci

Pokud chcete dokončit tok registrace uživatele pro některou metodu ověřování, aplikace komunikuje se čtyřmi koncovými body, /signup/v1.0/start, /signup/v1.0/challengea /signup/v1.0/continue/token.

Koncové body rozhraní API pro registraci

Koncový bod Popis
/signup/v1.0/start Tento koncový bod spustí tok registrace. Předáte platné ID aplikace, nové uživatelské jméno a typ výzvy a pak získáte nový token pokračování. Koncový bod může vrátit odpověď, která značí aplikaci, aby používala tok webového ověřování, pokud microsoft Entra nepodporuje zvolené metody ověřování aplikace.
/signup/v1.0/challenge Vaše aplikace volá tento koncový bod se seznamem typů výzev podporovaných microsoftem Entra. Microsoft Entra pak vybere jednu z podporovaných metod ověřování, pomocí které se má uživatel ověřit.
/signup/v1.0/continue Tento koncový bod pomáhá pokračovat v toku, aby vytvořil uživatelský účet nebo přerušil tok kvůli chybějícím požadavkům, jako jsou požadavky na zásady hesel nebo nesprávné formáty atributů. Tento koncový bod vygeneruje token pro pokračování a pak ho vrátí do aplikace. Koncový bod může vrátit odpověď, která značí aplikaci, aby používala webový tok ověřování, pokud aplikace nepoužívá metodu ověřování zvolenou microsoftem Entra.
/token Aplikace volá tento koncový bod, aby nakonec požádala o tokeny zabezpečení. Aplikace musí zahrnovat token pokračování, který získá z posledního úspěšného volání koncového /signup/v1.0/continue bodu.

Typy výzvy registrace

Rozhraní API umožňuje klientské aplikaci inzerovat metody ověřování, které podporuje, když volá Microsoft Entra. K tomu aplikace použije challenge_type parametr v požadavku aplikace. Tento parametr obsahuje předdefinované hodnoty, které představují různé metody ověřování.

Přečtěte si další informace o typech úkolů v nativních typech ověřovacích výzev. Tento článek vysvětluje hodnoty typu výzvy, které byste měli použít pro metodu ověřování.

Podrobnosti protokolu toku registrace

Sekvenční diagram znázorňuje tok procesu registrace.

Diagram toku registrace nativního ověřování

Tento diagram označuje, že aplikace shromažďuje uživatelské jméno (e-mail), heslo (pro e-mail s metodami ověřování hesla) a atributy od uživatele v různých časech (a možná i na samostatných obrazovkách). Aplikaci ale můžete navrhnout tak, aby shromažďovala uživatelské jméno (e-mail), heslo a všechny požadované hodnoty a volitelné hodnoty atributů na stejné obrazovce a pak je všechny odeslaly přes /signup/v1.0/start koncový bod. V takovém případě aplikace nemusí volat a zpracovávat odpovědi pro volitelné kroky.

Krok 1: Žádost o spuštění toku registrace

Tok registrace začíná aplikací, která do /signup/v1.0/start koncového bodu vytvoří požadavek POST, aby se spustil tok registrace.

Tady jsou příklady požadavku (ukázkový požadavek prezentujeme v několika řádcích pro čitelnost):

Příklad 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 

Příklad 2 (v požadavku uveďte atributy uživatele a heslo):

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 
Parametr Požadováno Popis
tenant_subdomain Ano Subdoména externího tenanta, kterého jste vytvořili. V adrese URL nahraďte {tenant_subdomain} subdoménou adresáře (tenanta). Pokud je například primární doména vašeho tenanta contoso.onmicrosoft.com, použijte contoso. Pokud nemáte subdoménu tenanta, přečtěte si, jak si přečíst podrobnosti o tenantovi.
client_id Ano ID aplikace (klienta) aplikace, kterou jste zaregistrovali v Centru pro správu Microsoft Entra.
username Ano E-mail uživatele zákazníka, se kterým se chce zaregistrovat, například contoso-consumer@contoso.com.
challenge_type Ano Seznam autorizačních řetězců typu výzvy oddělených mezerami, které aplikace podporuje, například oob password redirect. Seznam musí vždy obsahovat typ výzvy redirect . Hodnota je očekávaná oob redirect pro e-mail s metodou ověřování heslem nebo oob password redirect pro e-mail.
password No Hodnota hesla, kterou aplikace shromažďuje od uživatele zákazníka. Heslo uživatele můžete odeslat prostřednictvím koncového /signup/v1.0/start/signup/v1.0/continue bodu nebo později. Nahraďte {secure_password} hodnotou hesla, kterou aplikace shromažďuje od uživatele zákazníka. Je vaší zodpovědností potvrdit, že uživatel o heslu, které chce použít, tím, že v uživatelském rozhraní aplikace zadá pole pro potvrzení hesla. Musíte také zajistit, aby uživatel věděl o tom, co představuje silné heslo podle zásad vaší organizace. Přečtěte si další informace o zásadách hesel Microsoft Entra.
Tento parametr platí jenom pro e-mail s metodou ověřování heslem.
attributes No Uživatelské atributy hodnoty, které aplikace shromažďuje od uživatele zákazníka. Hodnota je řetězec, ale formátovaný jako objekt JSON, jehož klíčové hodnoty jsou programovatelný název atributů uživatele. Tyto atributy můžou být sestavené nebo vlastní a povinné nebo volitelné. Názvy klíčů objektu závisí na atributech, které správce nakonfiguroval v Centru pro správu Microsoft Entra. Některé nebo všechny atributy uživatele můžete odeslat prostřednictvím koncového /signup/v1.0/start bodu nebo později v koncovém /signup/v1.0/continue bodu. Pokud odešlete všechny požadované atributy prostřednictvím koncového /signup/v1.0/start bodu, nemusíte do koncového /signup/v1.0/continue bodu odesílat žádné atributy. Pokud však odešlete některé požadované atributy prostřednictvím /signup/v1.0/start koncového bodu, můžete zbývající požadované atributy odeslat později v koncovém /signup/v1.0/continue bodu. {user_age} Nahraďte {given_name}hodnoty {postal_code} jména, věku a PSČ, které aplikace shromažďuje od uživatele zákazníka. Microsoft Entra ignoruje všechny atributy, které odešlete, které neexistují.

Odpověď na úspěch

Tady je příklad úspěšné odpovědi:

HTTP/1.1 200 OK
Content-Type: application/json
{
    "continuation_token": "AQABAAEAAA…",
} 
Parametr Popis
continuation_token Token pokračování, který Microsoft Entra vrátí.

Pokud aplikace nemůže podporovat požadovanou metodu ověřování microsoftem Entra, je potřeba použít náhradní postup ověřování na základě webu. V tomto scénáři Microsoft Entra informuje aplikaci vrácením typu výzvy přesměrování v odpovědi:

HTTP/1.1 200 OK
Content-Type: application/json
{     
   "challenge_type": "redirect" 
} 
Parametr Popis
challenge_type Microsoft Entra vrátí odpověď, která má typ úkolu. Hodnota tohoto typu výzvy je přesměrování, což aplikaci umožňuje používat webový tok ověřování.

Tato odpověď se považuje za úspěšnou, ale aplikace se vyžaduje k přepnutí na webový tok ověřování. V takovém případě doporučujeme použít knihovnu ověřování vytvořenou microsoftem a podporovanou knihovnu ověřování.

Chybná odpověď

Příklad:

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: b386ad47-23ae-4092-...-1000000\r\nCorrelation ID: 72f57f26-...-3fa6\r\nTimestamp: yyyy-...", 
    "error_codes": [ 
        1003037 
    ],
    "timestamp": "yyyy-mm-dd 10:15:00Z",
    "trace_id": "b386ad47-...-0000", 
    "correlation_id": "72f57f26-...-3fa6"
} 
Parametr Popis
error Řetězec kódu chyby, který lze použít ke klasifikaci typů chyb a k reakci na chyby.
error_description Konkrétní chybová zpráva, která vám může pomoct identifikovat příčinu chyby ověřování.
error_codes Seznam kódů chyb specifických pro Microsoft Entra, které vám můžou pomoct s diagnostikou chyb.
timestamp Čas, kdy k chybě došlo.
trace_id Jedinečný identifikátor požadavku, který vám může pomoct s diagnostikou chyb.
correlation_id Jedinečný identifikátor požadavku, který může pomoct s diagnostikou napříč komponentami.
invalid_attributes Seznam (pole objektů) atributů, které selhaly při ověřování. Tato odpověď je možná, pokud aplikace odešle atributy uživatele a hodnota parametru suberror je attribute_validation_failed.
suberror Řetězec kódu chyby, který lze použít k další klasifikaci typů chyb.

Tady jsou možné chyby, se kterými se můžete setkat (možné hodnoty parametru error ):

Chybová hodnota Popis
invalid_request Ověření parametru požadavku se nezdařilo, například když hodnota parametru challenge_type obsahuje nepodporovanou metodu ověřování nebo požadavek nezahrnoval client_id parametr, který hodnota ID klienta je prázdná nebo neplatná. Pomocí parametru error_description zjistíte přesnou příčinu chyby.
invalid_client ID klienta, které aplikace obsahuje v požadavku, je určená pro aplikaci, která nemá nativní konfiguraci ověřování, například není veřejným klientem nebo není povolená pro nativní ověřování. Pomocí parametru suberror zjistíte přesnou příčinu chyby.
unauthorized_client ID klienta použité v požadavku má platný formát ID klienta, ale v externím tenantovi neexistuje nebo je nesprávný.
unsupported_challenge_type Hodnota challenge_type parametru nezahrnuje typ výzvy redirect .
user_already_exists Uživatel již existuje.
invalid_grant Heslo, které aplikace odešle, nesplňuje všechny požadavky na složitost, například heslo, je příliš krátké. Pomocí parametru suberror zjistíte přesnou příčinu chyby.
Tento parametr platí jenom pro e-mail s metodou ověřování heslem.

Pokud má parametr chyby hodnotu invalid_grant, Microsoft Entra do odpovědi zahrne suberror parametr. Tady jsou možné hodnoty parametru suberror pro chybu invalid_grant :

Hodnota dílčí chyby Popis
password_too_weak Heslo je příliš slabé, protože nesplňuje požadavky na složitost. Přečtěte si další informace o zásadách hesel Microsoft Entra. Tato odpověď je možná, pokud aplikace odešle uživatelské heslo.
password_too_short Nové heslo je kratší než 8 znaků. Přečtěte si další informace o zásadách hesel Microsoft Entra. Tato odpověď je možná, pokud aplikace odešle uživatelské heslo.
password_too_long Nové heslo je delší než 256 znaků. Přečtěte si další informace o zásadách hesel Microsoft Entra. Tato odpověď je možná, pokud aplikace odešle uživatelské heslo.
password_recently_used Nové heslo nesmí být stejné jako nedávno použité heslo. Přečtěte si další informace o zásadách hesel Microsoft Entra. Tato odpověď je možná, pokud aplikace odešle uživatelské heslo.
password_banned Nové heslo obsahuje slovo, frázi nebo vzor, které je zakázané. Přečtěte si další informace o zásadách hesel Microsoft Entra. Tato odpověď je možná, pokud aplikace odešle uživatelské heslo.
password_is_invalid Heslo je neplatné, například proto, že používá nepovolené znaky. Přečtěte si další informace o zásadách hesel Microsoft Entra. Tato odpověď je možná, pokud aplikace odešle uživatelské heslo.

Pokud má parametr chyby hodnotu invalid_client, Microsoft Entra do odpovědi zahrne suberror parametr. Tady jsou možné hodnoty parametru suberror pro chybu invalid_client :

Hodnota dílčí chyby Popis
nativeauthapi_disabled ID klienta pro aplikaci, která není pro nativní ověřování povolené.

Poznámka:

Pokud odešlete všechny požadované atributy prostřednictvím /signup/v1.0/start koncového bodu, ale ne všechny volitelné atributy, nebudete moct později prostřednictvím koncového /signup/v1.0/continue bodu odeslat žádné další volitelné atributy. Microsoft Entra explicitně nepožádá o volitelné atributy, protože nejsou povinné, aby se tok registrace dokončil. Podívejte se na tabulku v části Odesílání atributů uživatele do koncových bodů a seznamte se s atributy uživatele, které můžete odeslat do /signup/v1.0/start koncových bodů./signup/v1.0/continue

Krok 2: Výběr metody ověřování

Aplikace požaduje, aby Microsoft Entra vybral jeden z podporovaných typů výzvy, aby se uživatel ověřil. Aplikace to provede voláním koncového /signup/v1.0/challenge bodu. Aplikace musí do požadavku zahrnout token pro pokračování, který získá z koncového /signup/v1.0/start bodu.

Tady je příklad požadavku (příklad požadavku představujeme ve více řádcích pro čitelnost).

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…
Parametr Požadováno Popis
tenant_subdomain Ano Subdoména externího tenanta, kterého jste vytvořili. V adrese URL nahraďte {tenant_subdomain} subdoménou adresáře (tenanta). Pokud je například primární doména vašeho tenanta contoso.onmicrosoft.com, použijte contoso. Pokud nemáte subdoménu tenanta, přečtěte si, jak si přečíst podrobnosti o tenantovi.
client_id Ano ID aplikace (klienta) aplikace, kterou jste zaregistrovali v Centru pro správu Microsoft Entra.
challenge_type No Seznam autorizačních řetězců typu výzvy oddělených mezerami, které aplikace podporuje, například oob password redirect. Seznam musí vždy obsahovat typ výzvy redirect . Očekává se, že oob redirect hodnota bude pro jednorázový přístupový kód e-mailu a oob password redirect pro e-mail s metodou ověřování heslem.
continuation_token Ano Token pokračování, který Microsoft Entra vrátil v předchozím požadavku.

Odpověď na úspěch

Microsoft Entra odešle jednorázové heslo uživateli e-mailem a pak odpoví typem výzvy s hodnotou oob a dalšími informacemi o jednorázovém hesle:

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
} 
Parametr Popis
interval Doba v sekundách, po kterou musí aplikace počkat, než se pokusí znovu odeslat jednorázové heslo.
continuation_token Token pokračování, který Microsoft Entra vrátí.
challenge_type Typ výzvy vybraný pro ověření uživatele
binding_method Jediná platná hodnota je výzva. Tento parametr lze v budoucnu použít k tomu, aby uživateli nabídl více způsobů, jak zadat jednorázové heslo. Vydáno, pokud challenge_type je oob
challenge_channel Typ kanálu, přes který byl jednorázový přístupový kód odeslán. V tuto chvíli se podporuje jenom e-mailový kanál.
challenge_target_label Obfuskovaný e-mail s jednorázovým heslem.
code_length Délka jednorázového hesla, které Generuje Microsoft Entra.

Pokud aplikace nemůže podporovat požadovanou metodu ověřování microsoftem Entra, je potřeba použít náhradní postup ověřování na základě webu. V tomto scénáři Microsoft Entra informuje aplikaci vrácením typu výzvy přesměrování v odpovědi:

HTTP/1.1 200 OK
Content-Type: application/json
{
   "challenge_type": "redirect"
}
Parametr Popis
challenge_type Microsoft Entra vrátí odpověď, která má typ úkolu. Hodnota tohoto typu výzvy je přesměrování, což aplikaci umožňuje používat webový tok ověřování.

Tato odpověď se považuje za úspěšnou, ale aplikace se vyžaduje k přepnutí na webový tok ověřování. V takovém případě doporučujeme použít knihovnu ověřování vytvořenou microsoftem a podporovanou knihovnu ověřování.

Chybná odpověď

Příklad:

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: b386ad47-23ae-4092-...-1000000\r\nCorrelation ID: 72f57f26-...-3fa6\r\nTimestamp: yyyy-...",
    "error_codes": [ 
        901007 
    ], 
    "timestamp": "yyyy-mm-dd 10:15:00Z",
    "trace_id": "b386ad47-...-0000", 
    "correlation_id": "72f57f26-...-3fa6"
} 
Parametr Popis
error Řetězec kódu chyby, který lze použít ke klasifikaci typů chyb a k reakci na chyby.
error_description Konkrétní chybová zpráva, která vám může pomoct identifikovat příčinu chyby ověřování.
error_codes Seznam kódů chyb specifických pro Microsoft Entra, které vám můžou pomoct s diagnostikou chyb.
timestamp Čas, kdy k chybě došlo.
trace_id Jedinečný identifikátor požadavku, který vám může pomoct s diagnostikou chyb.
correlation_id Jedinečný identifikátor požadavku, který může pomoct s diagnostikou napříč komponentami.

Tady jsou možné chyby, se kterými se můžete setkat (možné hodnoty parametru error ):

Chybová hodnota Popis
invalid_request Ověření parametru požadavku se nezdařilo, například ID klienta je prázdné nebo neplatné.
expired_token Platnost tokenu pro pokračování vypršela.
unsupported_challenge_type Hodnota challenge_type parametru nezahrnuje typ výzvy redirect .
invalid_grant Token pokračování je neplatný.

Krok 3: Odeslání jednorázového hesla

Aplikace odešle jednorázové heslo odeslané do e-mailu uživatele. Vzhledem k tomu, že odesíláme jednorázové heslo, oob je povinný parametr a grant_type parametr musí mít hodnotu oob.

Tady je příklad požadavku (ukázkový požadavek představujeme ve více řádcích pro čitelnost):

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}
Parametr Požadováno Popis
tenant_subdomain Ano Subdoména externího tenanta, kterého jste vytvořili. V adrese URL nahraďte {tenant_subdomain} subdoménou adresáře (tenanta). Pokud je například primární doména vašeho tenanta contoso.onmicrosoft.com, použijte contoso. Pokud nemáte subdoménu tenanta, přečtěte si, jak si přečíst podrobnosti o tenantovi.
continuation_token Ano Token pokračování, který Microsoft Entra vrátil v předchozím požadavku.
client_id Ano ID aplikace (klienta) aplikace, kterou jste zaregistrovali v Centru pro správu Microsoft Entra.
grant_type Ano Požadavek na koncový bod lze použít k odeslání jednorázového /signup/v1.0/continue hesla, hesla nebo atributů uživatele. V tomto případě grant_type se hodnota používá k rozlišení těchto tří případů použití. Možné hodnoty pro grant_type jsou oob, heslo, atributy. V tomto volání, protože odesíláme jednorázové heslo, očekává se, že hodnota bude oob.
oob Ano Jednorázové heslo, které uživatel zákazníka obdržel v e-mailu. Nahraďte {otp_code} jednorázovými hodnotami hesla, které uživatel zákazníka obdržel v e-mailu. Aby aplikace znovu odeslala jednorázové heslo, musí znovu odeslat požadavek na /signup/v1.0/challenge koncový bod.

Jakmile aplikace úspěšně odešle jednorázové heslo, tok registrace závisí na scénářích, jak je znázorněno v tabulce:

Scénář Jak pokračovat
Aplikace úspěšně odešle heslo uživatele (pro e-mail s metodou ověřování hesla) prostřednictvím /signup/v1.0/start koncového bodu a v Centru pro správu Microsoft Entra nejsou nakonfigurovány žádné atributy nebo všechny požadované atributy uživatele se odesílají prostřednictvím koncového /signup/v1.0/start bodu. Microsoft Entra vydává token pro pokračování. Aplikace může pomocí tokenu pokračování požádat o tokeny zabezpečení, jak je znázorněno v kroku 5.
Aplikace úspěšně odešle heslo uživatele (pro e-mail s metodou ověřování hesla) prostřednictvím /signup/v1.0/start, ale ne všechny požadované atributy uživatele, Microsoft Entra indikuje atributy, které aplikace musí odeslat, jak je znázorněno v požadovaných atributech uživatele. Aplikace musí prostřednictvím koncového /signup/v1.0/continue bodu odeslat požadované atributy uživatele. Odpověď se podobá odpovědi v požadovaných atributech uživatele. Odešle atributy uživatele zobrazené v atributech odeslat uživatele.
Aplikace neodesílala heslo uživatele (pro e-mail s metodou ověřování hesla) prostřednictvím /signup/v1.0/start koncového bodu. Odpověď Microsoft Entra značí, že se vyžadují přihlašovací údaje. Viz odpověď.
Tato odpověď je možná pro e-mail s metodou ověřování heslem.

Response

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..."
} 
Parametr Popis
error Řetězec kódu chyby, který lze použít ke klasifikaci typů chyb a k reakci na chyby.
error_description Konkrétní chybová zpráva, která vám může pomoct identifikovat příčinu chyby ověřování.
error_codes Seznam kódů chyb specifických pro Microsoft Entra, které vám můžou pomoct s diagnostikou chyb.
timestamp Čas, kdy k chybě došlo.
trace_id Jedinečný identifikátor požadavku, který vám může pomoct s diagnostikou chyb.
correlation_id Jedinečný identifikátor požadavku, který může pomoct s diagnostikou napříč komponentami.
continuation_token Token pokračování, který Microsoft Entra vrátí.
suberror Řetězec kódu chyby, který lze použít k další klasifikaci typů chyb.

Tady jsou možné chyby, se kterými se můžete setkat (možné hodnoty parametru error ):

Chybová hodnota Popis
credential_required K vytvoření účtu se vyžaduje ověřování, takže musíte volat /signup/v1.0/challenge koncový bod, abyste zjistili, jaké přihlašovací údaje musí uživatel zadat.
invalid_request Ověření parametru požadavku se nezdařilo, například ověření tokenu pokračování selhalo nebo požadavek nezahrnoval client_id parametr, který hodnota ID klienta je prázdná nebo je neplatná nebo externí správce tenanta nepovolil e-mailové jednorázové heslo pro všechny uživatele tenanta.
invalid_grant Typ udělení, který je součástí požadavku, není platný nebo podporovaný nebo je nesprávná hodnota jednorázového hesla.
expired_token Platnost tokenu pokračování zahrnutého v požadavku vypršela.

Pokud má parametr chyby hodnotu invalid_grant, Microsoft Entra do odpovědi zahrne suberror parametr. Tady jsou možné hodnoty parametru suberror pro chybu invalid_grant :

Hodnota dílčí chyby Popis
invalid_oob_value Hodnota jednorázového hesla je neplatná.

Aby se přihlašovací údaje hesla shromáždily od uživatele, musí aplikace volat /signup/v1.0/challenge koncový bod, aby určila, jaké přihlašovací údaje musí uživatel zadat.

Tady je příklad požadavku (ukázkový požadavek představujeme ve více řádcích pro čitelnost):

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…
Parametr Požadováno Popis
tenant_subdomain Ano Subdoména externího tenanta, kterého jste vytvořili. V adrese URL nahraďte {tenant_subdomain} subdoménou adresáře (tenanta). Pokud je například primární doména vašeho tenanta contoso.onmicrosoft.com, použijte contoso. Pokud nemáte subdoménu tenanta, přečtěte si, jak si přečíst podrobnosti o tenantovi.
client_id Ano ID aplikace (klienta) aplikace, kterou jste zaregistrovali v Centru pro správu Microsoft Entra.
challenge_type No Seznam autorizačních řetězců typu výzvy oddělených mezerami, které aplikace podporuje, například oob password redirect. Seznam musí vždy obsahovat typ výzvy redirect . U e-mailu s tokem registrace hesla se očekává, že hodnota bude obsahovat password redirect.
continuation_token Ano Token pokračování, který Microsoft Entra vrátil v předchozím požadavku.

Odpověď na úspěch

Pokud je heslo metodou ověřování nakonfigurovanou pro uživatele v Centru pro správu Microsoft Entra, vrátí se do aplikace úspěšná odpověď s tokenem pokračování.

HTTP/1.1 200 OK
Content-Type: application/json
{
    "challenge_type": "password",
    "continuation_token": " AQABAAEAAAAty..."
}
Parametr Popis
challenge_type heslo se vrátí v odpovědi na požadované přihlašovací údaje.
continuation_token Token pokračování, který Microsoft Entra vrátí.

Pokud aplikace nemůže podporovat požadovanou metodu ověřování microsoftem Entra, je potřeba použít náhradní postup ověřování na základě webu. V tomto scénáři Microsoft Entra informuje aplikaci vrácením typu výzvy přesměrování v odpovědi:

HTTP/1.1 200 OK
Content-Type: application/json
{     
    "challenge_type": "redirect" 
} 
Parametr Popis
challenge_type Microsoft Entra vrátí odpověď, která má typ úkolu. Hodnota tohoto typu výzvy je přesměrování, což aplikaci umožňuje používat webový tok ověřování.

Tato odpověď se považuje za úspěšnou, ale aplikace se vyžaduje k přepnutí na webový tok ověřování. V takovém případě doporučujeme použít knihovnu ověřování vytvořenou microsoftem a podporovanou knihovnu ověřování.

Krok 4: Ověření a získání tokenu pro registraci

Aplikace musí odeslat přihlašovací údaje uživatele, v tomto případě heslo, které Microsoft Entra požadoval v předchozím kroku. Pokud to aplikace neudělala přes /signup/v1.0/start koncový bod, musí přihlašovací údaje hesla odeslat. Aplikace odešle do koncového /signup/v1.0/continue bodu žádost o odeslání hesla. Vzhledem k tomu, že odesíláme heslo, password je povinný parametr a grant_type parametr musí mít heslo hodnoty.

Tady je příklad požadavku (ukázkový požadavek představujeme ve více řádcích pro čitelnost):

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}
Parametr Požadováno Popis
tenant_subdomain Ano Subdoména externího tenanta, kterého jste vytvořili. V adrese URL nahraďte {tenant_subdomain} subdoménou adresáře (tenanta). Pokud je například primární doména vašeho tenanta contoso.onmicrosoft.com, použijte contoso. Pokud nemáte subdoménu tenanta, přečtěte si, jak si přečíst podrobnosti o tenantovi.
continuation_token Ano Token pokračování, který microsoft Entra vrátil v předchozím kroku.
client_id Ano ID aplikace (klienta) aplikace, kterou jste zaregistrovali v Centru pro správu Microsoft Entra.
grant_type Ano Požadavek na koncový bod lze použít k odeslání jednorázového /signup/v1.0/continue hesla, hesla nebo atributů uživatele. V tomto případě grant_type se hodnota používá k rozlišení těchto tří případů použití. Možné hodnoty pro grant_type jsou oob, heslo, atributy. V tomto volání se očekává, že vzhledem k tomu, že odesíláme heslo uživatele, bude hodnota heslo.
password Ano Hodnota hesla, kterou aplikace shromažďuje od uživatele zákazníka. Nahraďte {secure_password} hodnotou hesla, kterou aplikace shromažďuje od uživatele zákazníka. Je vaší zodpovědností potvrdit, že uživatel o heslu, které chce použít, tím, že v uživatelském rozhraní aplikace zadá pole pro potvrzení hesla. Musíte také zajistit, aby uživatel věděl o tom, co představuje silné heslo podle zásad vaší organizace. Přečtěte si další informace o zásadách hesel Microsoft Entra.

Odpověď na úspěch

Pokud je požadavek úspěšný, ale v Centru pro správu Microsoft Entra nebyly nakonfigurovány žádné atributy nebo všechny požadované atributy byly odeslány prostřednictvím koncového /signup/v1.0/start bodu, aplikace získá token pokračování bez odeslání jakýchkoli atributů. Aplikace může pomocí tokenu pokračování požádat o tokeny zabezpečení, jak je znázorněno v kroku 5. V opačném případě odpověď Microsoft Entra značí, že aplikace musí odesílat požadované atributy. Tyto atributy, předdefinované nebo vlastní, byly nakonfigurovány v Centru pro správu Microsoft Entra správcem tenanta.

Požadované atributy uživatele

Tato odpověď požádá aplikaci o odeslání hodnot pro názvy, *age a atributy telefonu .

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

Poznámka:

Vlastní atributy (označované také jako rozšíření adresáře) jsou pojmenované pomocí konvence extension_{appId-without-hyphens}_{attribute-name} , kde {appId-without-hyphens} je oříznutá verze ID klienta pro aplikaci rozšíření. Pokud je například ID klienta aplikace 2588a-bcdwh-tfeehj-jeeqw-ertc rozšíření a název atributu je koníčky, pak se vlastní atribut pojmenuje jakoextension_2588abcdwhtfeehjjeeqwertc_hobbies. Přečtěte si další informace o vlastních atributech a aplikaci rozšíření.

Parametr Popis
error Tento atribut se nastaví, pokud Microsoft Entra nemůže vytvořit uživatelský účet, protože atribut je potřeba ověřit nebo odeslat.
error_description Konkrétní chybová zpráva, která vám může pomoct identifikovat příčinu chyby.
error_codes Seznam kódů chyb specifických pro Microsoft Entra, které vám můžou pomoct s diagnostikou chyb.
timestamp Čas, kdy k chybě došlo.
trace_id Jedinečný identifikátor požadavku, který vám může pomoct s diagnostikou chyb.
correlation_id Jedinečný identifikátor požadavku, který může pomoct s diagnostikou napříč komponentami.
continuation_token Token pokračování, který Microsoft Entra vrátí.
required_attributes Seznam (pole objektů) atributů, které aplikace potřebuje k pokračování odeslat další volání. Tyto atributy jsou další atributy, které aplikace musí odeslat kromě uživatelského jména. Microsoft Entra obsahuje tento parametr je odpověď, pokud je hodnota parametru error attributes_required.

Tady jsou možné chyby, se kterými se můžete setkat (možné hodnoty parametru error ):

Chybová hodnota Popis
invalid_request Ověření parametru požadavku selhalo, například ověření tokenu pokračování selhalo nebo požadavek nezahrnoval client_id parametr, který hodnota ID klienta je prázdná nebo neplatná.
invalid_grant Typ udělení, který je součástí požadavku, není platný nebo podporovaný. Možné hodnoty pro objekt grant_typeoob, password, attributes
expired_token Platnost tokenu pokračování zahrnutého v požadavku vypršela.
attributes_required Vyžaduje se jeden nebo více atributů uživatele.

Pokud aplikace nemůže podporovat požadovanou metodu ověřování microsoftem Entra, je potřeba použít náhradní postup ověřování na základě webu. V tomto scénáři Microsoft Entra informuje aplikaci vrácením typu výzvy přesměrování v odpovědi:

HTTP/1.1 200 OK
Content-Type: application/json
{     
   "challenge_type": "redirect" 
} 
Parametr Popis
challenge_type Microsoft Entra vrátí odpověď, která má typ úkolu. Hodnota tohoto typu výzvy je přesměrování, což aplikaci umožňuje používat webový tok ověřování.

Tato odpověď se považuje za úspěšnou, ale aplikace se vyžaduje k přepnutí na webový tok ověřování. V takovém případě doporučujeme použít knihovnu ověřování vytvořenou microsoftem a podporovanou knihovnu ověřování.

Chybná odpověď

Příklad:

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": "b386ad47-...-0000", 
    "correlation_id": "72f57f26-...-3fa6",
    "suberror": "password_too_weak"
}
Parametr Popis
error Řetězec kódu chyby, který lze použít ke klasifikaci typů chyb a k reakci na chyby.
error_description Konkrétní chybová zpráva, která vám může pomoct identifikovat příčinu chyby ověřování.
error_codes Seznam kódů chyb specifických pro Microsoft Entra, které vám můžou pomoct s diagnostikou chyb.
timestamp Čas, kdy k chybě došlo.
trace_id Jedinečný identifikátor požadavku, který vám může pomoct s diagnostikou chyb.
correlation_id Jedinečný identifikátor požadavku, který může pomoct s diagnostikou napříč komponentami.
suberror Řetězec kódu chyby, který lze použít k další klasifikaci typů chyb.

Tady jsou možné chyby, se kterými se můžete setkat (možné hodnoty parametru error ):

Chybová hodnota Popis
invalid_request Ověření parametru challenge_type požadavku se nezdařilo, například když parametr obsahuje neplatný typ výzvy.
invalid_grant Odeslané udělení je neplatné, například odeslané heslo je příliš krátké. Pomocí parametru suberror zjistíte přesnou příčinu chyby.
expired_token Platnost tokenu pro pokračování vypršela.
attributes_required Vyžaduje se jeden nebo více atributů uživatele.

Pokud má parametr chyby hodnotu invalid_grant, Microsoft Entra do odpovědi zahrne suberror parametr. Tady jsou možné hodnoty parametru suberror :

Hodnota dílčí chyby Popis
password_too_weak Heslo je příliš slabé, protože nesplňuje požadavky na složitost. Přečtěte si další informace o zásadách hesel Microsoft Entra.
password_too_short Nové heslo je kratší než 8 znaků. Přečtěte si další informace o zásadách hesel Microsoft Entra.
password_too_long Nové heslo je delší než 256 znaků. Přečtěte si další informace o zásadách hesel Microsoft Entra.
password_recently_used Nové heslo nesmí být stejné jako nedávno použité heslo. Přečtěte si další informace o zásadách hesel Microsoft Entra.
password_banned Nové heslo obsahuje slovo, frázi nebo vzor, které je zakázané. Přečtěte si další informace o zásadách hesel Microsoft Entra.
password_is_invalid Heslo je neplatné, například proto, že používá nepovolené znaky. Přečtěte si další informace o zásadách hesel Microsoft Entra. Tato odpověď je možná, pokud aplikace odešle uživatelské heslo.

Odesílání atributů uživatele

Aby aplikace pokračovala v toku, musí volat /signup/v1.0/continue koncový bod, aby odeslala požadované atributy uživatele. Vzhledem k tomu, že odesíláme atributy, attributes je povinný parametr a grant_type parametr musí mít hodnotu rovna atributům.

Tady je příklad požadavku (ukázkový požadavek představujeme ve více řádcích pro čitelnost):

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...
Parametr Požadováno Popis
tenant_subdomain Ano Subdoména externího tenanta, kterého jste vytvořili. V adrese URL nahraďte {tenant_subdomain} subdoménou adresáře (tenanta). Pokud je například primární doména vašeho tenanta contoso.onmicrosoft.com, použijte contoso. Pokud nemáte subdoménu tenanta, přečtěte si, jak si přečíst podrobnosti o tenantovi.
continuation_token Ano Token pokračování, který Microsoft Entra vrátil v předchozím požadavku.
client_id Ano ID aplikace (klienta) aplikace, kterou jste zaregistrovali v Centru pro správu Microsoft Entra.
grant_type Ano Požadavek na koncový bod lze použít k odeslání jednorázového /signup/v1.0/continue hesla, hesla nebo atributů uživatele. V tomto případě grant_type se hodnota používá k rozlišení těchto tří případů použití. Možné hodnoty pro grant_type jsou oob, heslo, atributy. V tomto volání, protože odesíláme atributy uživatele, očekává se, že hodnota bude atributy.
attributes Ano Hodnoty atributů uživatele, které aplikace shromažďuje od uživatele zákazníka. Hodnota je řetězec, ale formátovaný jako objekt JSON, jehož klíčové hodnoty jsou názvy atributů uživatele, předdefinované nebo vlastní. Názvy klíčů objektu závisí na atributech, které správce nakonfiguroval v Centru pro správu Microsoft Entra. {user_age} Nahraďte {given_name}hodnoty {postal_code} jména, věku a PSČ, které aplikace shromažďuje od uživatele zákazníka. Microsoft Entra ignoruje všechny atributy, které odešlete, které neexistují.

Odpověď na úspěch

Pokud je žádost úspěšná, Microsoft Entra vydá token pro pokračování, který může aplikace použít k vyžádání tokenů zabezpečení.

HTTP/1.1 200 OK
Content-Type: application/json
{  
    "continuation_token": "AQABAAEAAAYn..."
} 
Parametr Popis
continuation_token Token pokračování, který Microsoft Entra vrátí.

Pokud aplikace nemůže podporovat požadovanou metodu ověřování microsoftem Entra, je potřeba použít náhradní postup ověřování na základě webu. V tomto scénáři Microsoft Entra informuje aplikaci vrácením typu výzvy přesměrování v odpovědi:

HTTP/1.1 200 OK
Content-Type: application/json
{     
   "challenge_type": "redirect" 
} 
Parametr Popis
challenge_type Microsoft Entra vrátí odpověď, která má typ úkolu. Hodnota tohoto typu výzvy je přesměrování, což aplikaci umožňuje používat webový tok ověřování.

Tato odpověď se považuje za úspěšnou, ale aplikace se vyžaduje k přepnutí na webový tok ověřování. V takovém případě doporučujeme použít knihovnu ověřování vytvořenou microsoftem a podporovanou knihovnu ověřování.

Chybná odpověď

Příklad:

HTTP/1.1 400 Bad Request
Content-Type: application/json
{
    "error": "expired_token",
    "error_description": "AADSTS901007: The continuation_token is expired.  .\r\nTrace ID: b386ad47-23ae-4092-...-1000000\r\nCorrelation ID: 72f57f26-...-3fa6\r\nTimestamp: yyyy-...", 
    "error_codes": [
        552003
    ], 
    "timestamp": "yyyy-mm-dd 10:15:00Z",
    "trace_id": "b386ad47-...-0000", 
    "correlation_id": "72f57f26-...-3fa6" 
}
Parametr Popis
error Řetězec kódu chyby, který lze použít ke klasifikaci typů chyb a k reakci na chyby.
error_description Konkrétní chybová zpráva, která vám může pomoct identifikovat příčinu chyby ověřování.
error_codes Seznam kódů chyb specifických pro Microsoft Entra, které vám můžou pomoct s diagnostikou chyb.
timestamp Čas, kdy k chybě došlo.
trace_id Jedinečný identifikátor požadavku, který vám může pomoct s diagnostikou chyb.
correlation_id Jedinečný identifikátor požadavku, který může pomoct s diagnostikou napříč komponentami.
continuation_token Token pokračování, který Microsoft Entra vrátí.
unverified_attributes Seznam (pole objektů) názvů klíčů atributů, které musí být ověřeny. Tento parametr je součástí odpovědi, pokud je hodnota parametru error verification_required.
required_attributes Seznam (pole objektů) atributů, které aplikace potřebuje odeslat. Microsoft Entra obsahuje tento parametr v odpovědi, pokud je hodnota parametru error attributes_required.
invalid_attributes Seznam (pole objektů) atributů, které selhaly při ověřování. Tento parametr je součástí odpovědi, pokud je hodnota parametru suberror attribute_validation_failed.
suberror Řetězec kódu chyby, který lze použít k další klasifikaci typů chyb.

Tady jsou možné chyby, se kterými se můžete setkat (možné hodnoty parametru error ):

Chybová hodnota Popis
invalid_request Ověření parametru požadavku selhalo, například ověření tokenu pokračování selhalo nebo požadavek nezahrnoval client_id parametr, který hodnota ID klienta je prázdná nebo neplatná.
invalid_grant Zadaný typ udělení není platný nebo podporovaný nebo neúspěšné ověření, například ověření atributů se nezdařilo. Pomocí parametru suberror zjistíte přesnou příčinu chyby.
expired_token Platnost tokenu pokračování zahrnutého v požadavku vypršela.
attributes_required Vyžaduje se jeden nebo více atributů uživatele.

Pokud má parametr chyby hodnotu invalid_grant, Microsoft Entra do odpovědi zahrne suberror parametr. Tady jsou možné hodnoty parametru suberror pro chybu invalid_grant :

Hodnota dílčí chyby Popis
attribute_validation_failed Ověření atributu uživatele se nezdařilo. invalid_attributes parametr obsahuje seznam (pole objektů) atributů, které selhaly ověřením.

Krok 5: Žádost o tokeny zabezpečení

Aplikace odešle do koncového /token bodu požadavek POST a poskytne token pro pokračování získaný z předchozího kroku k získání tokenů zabezpečení.

Tady je příklad požadavku (příklad požadavku představujeme v několika řádcích pro čitelnost):

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 
Parametr Požadováno Popis
tenant_subdomain Ano Subdoména externího tenanta, kterého jste vytvořili. V adrese URL nahraďte {tenant_subdomain} subdoménou adresáře (tenanta). Pokud je například primární doména vašeho tenanta contoso.onmicrosoft.com, použijte contoso. Pokud nemáte subdoménu tenanta, přečtěte si, jak si přečíst podrobnosti o tenantovi.
client_id Ano ID aplikace (klienta) aplikace, kterou jste zaregistrovali v Centru pro správu Microsoft Entra.
grant_type Ano Hodnota parametru musí být token pro pokračování.
continuation_token Ano Token pokračování, který microsoft Entra vrátil v předchozím kroku.
scope Ano Seznam oborů oddělených mezerami, pro které je přístupový token platný. Nahraďte {scopes} platnými obory, pro které vrací přístupový token Microsoft Entra.
username Ano E-mail uživatele zákazníka, se kterým se chce zaregistrovat, například contoso-consumer@contoso.com.

Úspěšná odpověď

Tady je příklad úspěšné odpovědi:

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..."
}
Parametr Popis
access_token Přístupový token, který aplikace požadovala z koncového /token bodu. Aplikace může tento přístupový token použít k vyžádání přístupu k zabezpečeným prostředkům, jako jsou webová rozhraní API.
token_type Označuje hodnotu typu tokenu. Jediným typem, který Microsoft Entra podporuje, je Bearer.
expires_in Doba v sekundách, po kterou přístupový token zůstane platná.
scopes Seznam oborů oddělených mezerami, pro které je přístupový token platný.
refresh_token Obnovovací token OAuth 2.0 Aplikace může tento token použít k získání dalších přístupových tokenů po vypršení platnosti aktuálního přístupového tokenu. Obnovovací tokeny jsou dlouhodobé. Můžou udržovat přístup k prostředkům po delší období. Další podrobnosti o aktualizaci přístupového tokenu najdete v článku Aktualizace přístupového tokenu .
Poznámka: Vydáno pouze v případě, že byl požadován rozsah offline_access .
id_token Webový token JSON (Jwt) sloužící k identifikaci uživatele zákazníka. Aplikace může dekódovat token a číst informace o uživateli, který se přihlásil. Aplikace může hodnoty ukládat do mezipaměti a zobrazovat je a důvěrní klienti můžou tento token použít k autorizaci. Další informace o tokenech ID najdete v tématu Tokeny ID.
Poznámka: Vydáno pouze v případě, že je požadován rozsah openid .

Chybná odpověď

Příklad:

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: b386ad47-23ae-4092-...-1000000\r\nCorrelation ID: 72f57f26-...-3fa6\r\nTimestamp: yyyy-...",
    "error_codes": [ 
        50126 
    ], 
    "timestamp": "yyyy-mm-dd 10:15:00Z",
    "trace_id": "b386ad47-...-0000", 
    "correlation_id": "72f57f26-...-3fa6"
} 
Parametr Popis
error Řetězec kódu chyby, který lze použít ke klasifikaci typů chyb a k reakci na chyby.
error_description Konkrétní chybová zpráva, která vám může pomoct identifikovat příčinu chyby ověřování.
error_codes Seznam kódů chyb specifických pro Microsoft Entra, které vám můžou pomoct s diagnostikou chyb.
timestamp Čas, kdy k chybě došlo.
trace_id Jedinečný identifikátor požadavku, který vám může pomoct s diagnostikou chyb.
correlation_id Jedinečný identifikátor požadavku, který může pomoct s diagnostikou napříč komponentami.

Tady jsou možné chyby, se kterými se můžete setkat (možné hodnoty parametru error ):

Chybová hodnota Popis
invalid_request Ověření parametru požadavku selhalo, jako je klient nebo aplikace, nemá souhlas s požadovanými obory.
invalid_grant Token pokračování zahrnutý v požadavku je neplatný.
unauthorized_client ID klienta zahrnuté v požadavku je neplatné nebo neexistuje.
unsupported_grant_type Typ udělení, který je součástí požadavku, není podporovaný nebo je nesprávný.

Odesílání atributů uživatele do koncových bodů

V Centru pro správu Microsoft Entra můžete nakonfigurovat atributy uživatele podle potřeby nebo volitelné. Tato konfigurace určuje, jak Microsoft Entra reaguje při volání jeho koncových bodů. Volitelné atributy nejsou povinné, aby se tok registrace dokončil. Proto pokud jsou všechny atributy volitelné, musí být odeslány před ověřením uživatelského jména. V opačném případě se registrace dokončí bez volitelných atributů.

Následující tabulka shrnuje, kdy je možné odeslat atributy uživatele do koncových bodů Microsoft Entra.

Koncový bod Povinné atributy Volitelné atributy Povinné i volitelné atributy
/signup/v1.0/start zakončení Ano Ano Yes
/signup/v1.0/continue koncový bod před ověřením uživatelského jména Ano Ano Yes
/signup/v1.0/continue koncový bod po ověření uživatelského jména Yes Ne Ano

Formát hodnot atributů uživatele

Informace, které chcete shromažďovat od uživatele, zadáte tak, že nakonfigurujete nastavení toku uživatele v Centru pro správu Microsoft Entra. V článku o registraci se dozvíte, jak shromažďovat hodnoty pro předdefinované i vlastní atributy.

Můžete také zadat typ vstupu uživatele pro atributy, které konfigurujete. Následující tabulka shrnuje podporované typy uživatelských vstupů a způsob odesílání hodnot shromážděných ovládacími prvky uživatelského rozhraní do Microsoft Entra.

Typ vstupu uživatele Formát odeslaných hodnot
TextBox  Jedna hodnota, jako je pracovní pozice, softwarový inženýr.
SingleRadioSelect Jedna hodnota, jako je jazyk, norština. 
CheckboxMultiSelect Jedna nebo více hodnot, jako je koníček nebo koníčky, tanec nebo tanec, plavání, cestování.

Tady je příklad požadavku, který ukazuje, jak odešlete hodnoty atributů:

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

Přečtěte si další informace o vstupních typech atributů uživatele v článku o vstupních typech vlastních atributů uživatele.

Jak odkazovat na atributy uživatele

Při vytváření toku uživatele registrace nakonfigurujete atributy uživatele, které chcete shromažďovat od uživatele během registrace. Názvy atributů uživatele v Centru pro správu Microsoft Entra se liší od toho, jak na ně odkazujete v nativním ověřovacím rozhraní API.

Například zobrazovaný název v Centru pro správu Microsoft Entra se v rozhraní API odkazuje jako displayName .

V článku Atributy profilů uživatelů se dozvíte, jak odkazovat na předdefinované i vlastní atributy uživatele v nativním ověřovacím rozhraní API.

Referenční informace k rozhraní API pro přihlášení

Uživatelé se musí přihlásit pomocí metody ověřování, kterou používají k registraci. Například uživatelé, kteří se zaregistrují pomocí e-mailu pomocí metody ověřování hesla, se musí přihlásit e-mailem a heslem.

Pokud chcete požádat o tokeny zabezpečení, aplikace komunikuje se třemi koncovými /initiate/challenge body a /token.

Koncové body rozhraní API pro přihlášení

Koncový bod Popis
/initiate Tento koncový bod zahájí tok přihlášení. Pokud ji vaše aplikace volá s uživatelským jménem uživatelského účtu, který už existuje, vrátí odpověď na úspěch s tokenem pro pokračování. Pokud vaše aplikace požaduje použití metod ověřování, které Microsoft Entra nepodporuje, může tato odpověď koncového bodu ukazovat na vaši aplikaci, že potřebuje použít tok ověřování na základě prohlížeče.
/challenge vaše aplikace volá tento koncový bod se seznamem typů výzev podporovaných službou identit. Naše služba identit vygeneruje a pak odešle jednorázové heslo do zvoleného kanálu výzvy, jako je e-mail. Pokud vaše aplikace tento koncový bod opakovaně volá, při každém volání se odešle nový jednorázový přístup.
/token Tento koncový bod ověří jednorázový přístupový kód, který obdrží z vaší aplikace, a pak vydá tokeny zabezpečení pro vaši aplikaci.

Typy výzvy přihlášení

Rozhraní API umožňuje aplikaci inzerovat metody ověřování, které podporuje, když volá Microsoft Entra. Aplikace k tomu použije challenge_type parametr ve svých požadavcích. Tento parametr obsahuje předdefinované hodnoty, které představují různé metody ověřování.

Pro danou metodu ověřování jsou hodnoty typu výzvy, které aplikace odesílá do Microsoft Entra během procesu registrace, stejné jako při přihlášení aplikace. Například e-mail s metodou ověřování heslem používá hodnoty typu oob, password a redirect challenge pro toky registrace i přihlašování.

Další informace o typech výzev najdete v článku o typech nativních ověřovacích úkolů.

Podrobnosti protokolu toku přihlášení

Sekvenční diagram znázorňuje tok procesu přihlášení.

Diagram nativního přihlášení k ověřování pomocí jednorázového hesla e-mailu

Jakmile aplikace ověří e-mail uživatele pomocí jednorázového hesla, obdrží tokeny zabezpečení. Pokud je doručení jednorázových zpoždění hesla nebo se nikdy nedoručí do e-mailu uživatele, může si uživatel vyžádat odeslání dalšího jednorázového hesla. Microsoft Entra znovu odešle další jednorázové heslo, pokud předchozí heslo nebylo ověřeno. Když Microsoft Entra znovu odešle jednorázové heslo, zneplatní dříve odeslaný kód.

V následujících částech shrnujeme tok sekvenčního diagramu do tří základních kroků.

Krok 1: Žádost o spuštění toku přihlašování

Tok ověřování začíná aplikací, která do koncového /initiate bodu vytvoří požadavek POST, aby se spustil tok přihlášení.

Tady je příklad požadavku (ukázkový požadavek představujeme ve více řádcích pro čitelnost):

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 
Parametr Požadováno Popis
tenant_subdomain Ano Subdoména externího tenanta, kterého jste vytvořili. V adrese URL nahraďte {tenant_subdomain} subdoménou adresáře (tenanta). Pokud je například primární doména vašeho tenanta contoso.onmicrosoft.com, použijte contoso. Pokud nemáte subdoménu tenanta, přečtěte si, jak si přečíst podrobnosti o tenantovi.
client_id Ano ID aplikace (klienta) aplikace, kterou jste zaregistrovali v Centru pro správu Microsoft Entra.
username Ano E-mail uživatele zákazníka, například contoso-consumer@contoso.com.
challenge_type Ano Seznam autorizačních řetězců typu výzvy oddělených mezerami, které aplikace podporuje, například oob password redirect. Seznam musí vždy obsahovat typ výzvy redirect . U e-mailu se očekává oob redirect jednorázové heslo a password redirect pro e-mail s heslem.

Odpověď na úspěch

Tady je příklad úspěšné odpovědi:

HTTP/1.1 200 OK
Content-Type: application/json
{
    "continuation_token": "uY29tL2F1dGhlbnRpY..."
}
Parametr Popis
continuation_token Token pokračování, který Microsoft Entra vrátí.

Pokud aplikace nemůže podporovat požadovanou metodu ověřování microsoftem Entra, je potřeba použít náhradní postup ověřování na základě webu. V tomto scénáři Microsoft Entra informuje aplikaci vrácením typu výzvy přesměrování v odpovědi:

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

{     
   "challenge_type": "redirect" 
} 
Parametr Popis
challenge_type Microsoft Entra vrátí odpověď, která má typ úkolu. Hodnota tohoto typu výzvy je přesměrování, což aplikaci umožňuje používat webový tok ověřování.

Tato odpověď se považuje za úspěšnou, ale aplikace se vyžaduje k přepnutí na webový tok ověřování. V takovém případě doporučujeme použít knihovnu ověřování vytvořenou microsoftem a podporovanou knihovnu ověřování.

Chybná odpověď

Příklad:

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: b386ad47-23ae-4092-...-1000000\r\nCorrelation ID: 72f57f26-...-3fa6\r\nTimestamp: yyyy-...",
    "error_codes": [ 
        901007 
    ], 
    "timestamp": "yyyy-mm-dd 10:15:00Z",
    "trace_id": "b386ad47-...-0000", 
    "correlation_id": "72f57f26-...-3fa6"
} 
Parametr Popis
error Řetězec kódu chyby, který lze použít ke klasifikaci typů chyb a k reakci na chyby.
error_description Konkrétní chybová zpráva, která vám může pomoct identifikovat příčinu chyby ověřování.
error_codes Seznam kódů chyb specifických pro Microsoft Entra, které vám můžou pomoct s diagnostikou chyb.
timestamp Čas, kdy k chybě došlo.
trace_id Jedinečný identifikátor požadavku, který vám může pomoct s diagnostikou chyb.
correlation_id Jedinečný identifikátor požadavku, který může pomoct s diagnostikou napříč komponentami.

Tady jsou možné chyby, se kterými se můžete setkat (možné hodnoty parametru error ):

Chybová hodnota Popis
invalid_request Ověření parametru challenge_type požadavku se nezdařilo, například když parametr obsahuje neplatný typ výzvy. nebo požadavek nezahrnoval client_id parametr, že hodnota ID klienta je prázdná nebo neplatná. Pomocí parametru error_description zjistíte přesnou příčinu chyby.
unauthorized_client ID klienta použité v požadavku má platný formát ID klienta, ale v externím tenantovi neexistuje nebo je nesprávný.
invalid_client ID klienta, které aplikace obsahuje v požadavku, je určená pro aplikaci, která nemá nativní konfiguraci ověřování, například není veřejným klientem nebo není povolená pro nativní ověřování. Pomocí parametru suberror zjistíte přesnou příčinu chyby.
user_not_found Uživatelské jméno neexistuje.
unsupported_challenge_type Hodnota challenge_type parametru nezahrnuje typ výzvy redirect .

Pokud má parametr chyby hodnotu invalid_client, Microsoft Entra do odpovědi zahrne suberror parametr. Tady jsou možné hodnoty parametru suberror pro chybu invalid_client :

Hodnota dílčí chyby Popis
nativeauthapi_disabled ID klienta pro aplikaci, která není pro nativní ověřování povolené.

Krok 2: Výběr metody ověřování

Aby aplikace pokračovala v toku, použije token pro pokračování, který získá z předchozího kroku, a požádá Microsoft Entra o výběr jednoho z podporovaných typů výzvy, pomocí něhož se uživatel ověří. Aplikace odešle do koncového /challenge bodu požadavek POST.

Tady je příklad požadavku (příklad požadavku představujeme v několika řádcích pro čitelnost):

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... 
Parametr Požadováno Popis
tenant_subdomain Ano Subdoména externího tenanta, kterého jste vytvořili. V adrese URL nahraďte {tenant_subdomain} subdoménou adresáře (tenanta). Pokud je například primární doména vašeho tenanta contoso.onmicrosoft.com, použijte contoso. Pokud nemáte subdoménu tenanta, přečtěte si, jak si přečíst podrobnosti o tenantovi.
client_id Ano ID aplikace (klienta) aplikace, kterou jste zaregistrovali v Centru pro správu Microsoft Entra.
continuation_token Ano Token pokračování, který Microsoft Entra vrátil v předchozím požadavku.
challenge_type No Seznam autorizačních řetězců typu výzvy oddělených mezerami, které aplikace podporuje, například oob password redirect. Seznam musí vždy obsahovat typ výzvy redirect . U e-mailu se očekává oob redirect jednorázové heslo a password redirect pro e-mail s heslem.

Odpověď na úspěch

Pokud správce tenanta nakonfiguroval jednorázové heslo e-mailu v Centru pro správu Microsoft Entra jako metodu ověřování uživatele, Microsoft Entra odešle jednorázové heslo do e-mailu uživatele, pak odpoví typem výzvy oob a poskytne další informace o jednorázovém hesla.

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
} 
Parametr Popis
continuation_token Token pokračování, který Microsoft Entra vrátí.
challenge_type Typ výzvy vybraný pro ověření uživatele
binding_method Jediná platná hodnota je výzva. Tento parametr lze v budoucnu použít k tomu, aby uživatel mohl zadat jednorázové heslo. Vydáno, pokud challenge_type je oob
challenge_channel Typ kanálu, přes který byl jednorázový přístupový kód odeslán. V tuto chvíli podporujeme e-mail.
challenge_target_label Obfuskovaný e-mail s jednorázovým heslem.
code_length Délka jednorázového hesla, které Generuje Microsoft Entra.

Pokud aplikace nemůže podporovat požadovanou metodu ověřování microsoftem Entra, je potřeba použít náhradní postup ověřování na základě webu. V tomto scénáři Microsoft Entra informuje aplikaci vrácením typu výzvy přesměrování v odpovědi:

HTTP/1.1 200 OK
Content-Type: application/json
{     
   "challenge_type": "redirect" 
} 
Parametr Popis
challenge_type Microsoft Entra vrátí odpověď, která má typ úkolu. Hodnota tohoto typu výzvy je přesměrování, což aplikaci umožňuje používat webový tok ověřování.

Tato odpověď se považuje za úspěšnou, ale aplikace se vyžaduje k přepnutí na webový tok ověřování. V takovém případě doporučujeme použít knihovnu ověřování vytvořenou microsoftem a podporovanou knihovnu ověřování.

Chybná odpověď

Příklad:

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: b386ad47-23ae-4092-...-1000000\r\nCorrelation ID: 72f57f26-...-3fa6\r\nTimestamp: yyyy-...",
    "error_codes": [ 
        901007 
    ], 
    "timestamp": "yyyy-mm-dd 10:15:00Z",
    "trace_id": "b386ad47-...-0000", 
    "correlation_id": "72f57f26-...-3fa6"
} 
Parametr Popis
error Řetězec kódu chyby, který lze použít ke klasifikaci typů chyb a k reakci na chyby.
error_description Konkrétní chybová zpráva, která vám může pomoct identifikovat příčinu chyby ověřování.
error_codes Seznam kódů chyb specifických pro Microsoft Entra, které vám můžou pomoct s diagnostikou chyb.
timestamp Čas, kdy k chybě došlo.
trace_id Jedinečný identifikátor požadavku, který vám může pomoct s diagnostikou chyb.
correlation_id Jedinečný identifikátor požadavku, který může pomoct s diagnostikou napříč komponentami.

Tady jsou možné chyby, se kterými se můžete setkat (možné hodnoty parametru error ):

Chybová hodnota Popis
invalid_request Ověření parametru challenge_type požadavku se nezdařilo, například když parametr obsahuje neplatný typ výzvy.
invalid_grant Token pro pokračování zahrnutý v požadavku není platný.
expired_token Platnost tokenu pokračování zahrnutého v požadavku vypršela.
unsupported_challenge_type Hodnota challenge_type parametru nezahrnuje typ výzvy redirect .

Krok 3: Žádost o tokeny zabezpečení

Aplikace odešle do koncového /token bodu požadavek POST a poskytne přihlašovací údaje uživatele zvolené v předchozím kroku, v tomto případě heslo k získání tokenů zabezpečení.

Tady je příklad požadavku (ukázkový požadavek představujeme ve více řádcích pro čitelnost):

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 
Parametr Požadováno Popis
tenant_subdomain Ano Subdoména externího tenanta, kterého jste vytvořili. V adrese URL nahraďte {tenant_subdomain} subdoménou adresáře (tenanta). Pokud je například primární doména vašeho tenanta contoso.onmicrosoft.com, použijte contoso. Pokud nemáte subdoménu tenanta, přečtěte si, jak si přečíst podrobnosti o tenantovi.
client_id Ano ID aplikace (klienta) aplikace, kterou jste zaregistrovali v Centru pro správu Microsoft Entra.
continuation_token Ano Token pokračování, který Microsoft Entra vrátil v předchozím požadavku.
grant_type Ano Hodnota musí být heslo pro e-mail s metodou ověřování hesla a oob pro metodu ověřování jednorázovým heslem e-mailu.
scope Ano Seznam oborů oddělených mezerami. Všechny obory musí být z jednoho prostředku spolu s obory OpenID Connect (OIDC), jako je profil, *openid a e-mail. Aby aplikace vyděděla token ID, musí pro Microsoft Entra zahrnout openid rozsah. Aplikace musí obsahovat rozsah offline_access , aby Microsoft Entra vydal obnovovací token. Přečtěte si další informace o oprávněních a souhlasu na platformě Microsoft Identity Platform.
password Ano
(pro e-mail s heslem)
Hodnota hesla, kterou aplikace shromažďuje od uživatele zákazníka. Nahraďte {secure_password} hodnotou hesla, kterou aplikace shromažďuje od uživatele zákazníka.
oob Ano
(pro jednorázové heslo e-mailu)
Jednorázové heslo, které uživatel zákazníka obdržel v e-mailu. Nahraďte {otp_code} jednorázovým heslem, které uživatel zákazníka obdržel v e-mailu. Aby aplikace znovu odeslala jednorázové heslo, musí znovu odeslat požadavek na /challenge koncový bod.

Úspěšná odpověď

Tady je příklad úspěšné odpovědi:

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..."
}
Parametr Popis
token_type Označuje hodnotu typu tokenu. Jediným typem, který Microsoft Entra podporuje, je Bearer.
scopes Seznam oborů oddělených mezerami, pro které je přístupový token platný.
expires_in Doba v sekundách, po kterou přístupový token zůstane platná.
access_token Přístupový token, který aplikace požadovala z koncového /token bodu. Aplikace může tento přístupový token použít k vyžádání přístupu k zabezpečeným prostředkům, jako jsou webová rozhraní API.
refresh_token Obnovovací token OAuth 2.0 Aplikace může tento token použít k získání dalších přístupových tokenů po vypršení platnosti aktuálního přístupového tokenu. Obnovovací tokeny jsou dlouhodobé. Můžou udržovat přístup k prostředkům po delší období. Další podrobnosti o aktualizaci přístupového tokenu najdete v článku Aktualizace přístupového tokenu .
Poznámka: Vydáno pouze v případě, že požadujete offline_access rozsah.
id_token Webový token JSON (Jwt) sloužící k identifikaci uživatele zákazníka. Aplikace může dekódovat token a požádat o informace o uživateli, který se přihlásil. Aplikace může hodnoty ukládat do mezipaměti a zobrazovat je a důvěrní klienti můžou tento token použít k autorizaci. Další informace o tokenech ID najdete v tématu Tokeny ID.
Poznámka: Vydáno pouze v případě, že požadujete rozsah openid .

Chybná odpověď

Příklad:

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: b386ad47-23ae-4092-...-1000000\r\nCorrelation ID: 72f57f26-...-3fa6\r\nTimestamp: yyyy-...",
    "error_codes": [ 
        50126 
    ], 
    "timestamp": "yyyy-mm-dd 10:15:00Z",
    "trace_id": "b386ad47-...-0000", 
    "correlation_id": "72f57f26-...-3fa6"
} 
Parametr Popis
error Řetězec kódu chyby, který lze použít ke klasifikaci typů chyb a k reakci na chyby.
error_description Konkrétní chybová zpráva, která vám může pomoct identifikovat příčinu chyby ověřování.
error_codes Seznam kódů chyb specifických pro Microsoft Entra, které vám můžou pomoct s diagnostikou chyb.
timestamp Čas, kdy k chybě došlo.
trace_id Jedinečný identifikátor požadavku, který vám může pomoct s diagnostikou chyb.
correlation_id Jedinečný identifikátor požadavku, který může pomoct s diagnostikou napříč komponentami.

Tady jsou možné chyby, se kterými se můžete setkat (možné hodnoty parametru error ):

Chybová hodnota Popis
invalid_request Ověření parametru požadavku se nezdařilo. Pokud chcete zjistit, co se stalo, použijte zprávu v popisu chyby.
invalid_grant Token pokračování zahrnutý v požadavku není platný nebo přihlašovací údaje uživatele zákazníka zahrnuté v požadavku jsou neplatné nebo typ udělení zahrnutý v požadavku je neznámý.
invalid_client ID klienta zahrnuté v požadavku není pro veřejného klienta.
expired_token Platnost tokenu pokračování zahrnutého v požadavku vypršela.
invalid_scope Jeden nebo více oborů zahrnutých v požadavku je neplatné.

Pokud má parametr chyby hodnotu invalid_grant, Microsoft Entra do odpovědi zahrne suberror parametr. Tady jsou možné hodnoty parametru suberror pro chybu invalid_grant :

Hodnota dílčí chyby Popis
invalid_oob_value Hodnota jednorázového hesla je neplatná. Tato dílčí chyba používá jenom jednorázové heslo e-mailu.

Samoobslužné resetování hesla (SSPR)

Pokud jako metodu ověřování ve vaší aplikaci používáte e-mail a heslo, použijte rozhraní API samoobslužného resetování hesla (SSPR), které uživatelům zákazníka umožní resetovat heslo. Toto rozhraní API použijte pro zapomenuté heslo nebo změňte scénáře hesel.

Koncové body rozhraní API pro samoobslužné resetování hesla

Pokud chcete toto rozhraní API použít, aplikace komunikuje s koncovým bodem zobrazeným v následující tabulce:

Koncový bod Popis
/start Aplikace volá tento koncový bod, když uživatel zákazníka vybere zapomenuté heslo nebo změní odkaz nebo tlačítko hesla v aplikaci. Tento koncový bod ověří uživatelské jméno uživatele (e-mail) a pak vrátí token pro pokračování pro použití v toku resetování hesla. Pokud vaše aplikace požaduje použití metod ověřování, které Microsoft Entra nepodporuje, může tato odpověď koncového bodu ukazovat na vaši aplikaci, že potřebuje použít tok ověřování na základě prohlížeče.
/challenge Přijímá seznam typů úloh podporovaných klientem a tokenem pokračování. U některého z upřednostňovaných přihlašovacích údajů pro obnovení se vystaví výzva. Například výzva oob vydá jednorázové heslo k e-mailu přidruženému k uživatelskému účtu zákazníka. Pokud vaše aplikace požaduje použití metod ověřování, které Microsoft Entra nepodporuje, může tato odpověď koncového bodu ukazovat na vaši aplikaci, že potřebuje použít tok ověřování na základě prohlížeče.
/continue Ověří výzvu vystavenou /challenge koncovým bodem a pak buď vrátí token pro pokračování koncového /submit bodu, nebo vydá uživateli jiný úkol.
/submit Přijme nový vstup hesla uživatelem spolu s tokenem pro pokračování pro dokončení toku resetování hesla. Tento koncový bod vydává další token pro pokračování.
/poll_completion Aplikace může nakonec pomocí tokenu pro pokračování vydaného /submit koncovým bodem zkontrolovat stav žádosti o resetování hesla.

Typy výzvy samoobslužného resetování hesla

Rozhraní API umožňuje aplikaci inzerovat metody ověřování, které podporuje, když volá Microsoft Entra. Aplikace k tomu použije challenge_type parametr ve svých požadavcích. Tento parametr obsahuje předdefinované hodnoty, které představují různé metody ověřování.

V případě toku SSPR jsou hodnoty typu výzvy oob a přesměrování.

Přečtěte si další informace o typech úkolů v nativních typech ověřovacích výzev.

Podrobnosti protokolu toku samoobslužného resetování hesla

Sekvenční diagram znázorňuje tok procesu resetování hesla.

Diagram toku samoobslužného resetování hesla nativního ověřování

Tento diagram označuje, že aplikace shromažďuje uživatelské jméno (e-mail) a heslo od uživatele v různých časech (a možná i na samostatných obrazovkách). Aplikaci ale můžete navrhnout tak, aby na stejné obrazovce shromažďuje uživatelské jméno (e-mail) a nové heslo. V takovém případě aplikace uchovává heslo a pak ho odešle přes /submit koncový bod, kde se vyžaduje.

Krok 1: Žádost o spuštění toku samoobslužného resetování hesla

Tok resetování hesla začíná aplikací, která do koncového /start bodu vytvoří požadavek POST, aby se spustil tok samoobslužného resetování hesla.

Tady je příklad požadavku (příklad požadavku představujeme v několika řádcích pro čitelnost):

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 
Parametr Požadováno Popis
tenant_subdomain Ano Subdoména externího tenanta, kterého jste vytvořili. V adrese URL nahraďte {tenant_subdomain} subdoménou adresáře (tenanta). Pokud je například primární doména vašeho tenanta contoso.onmicrosoft.com, použijte contoso. Pokud nemáte subdoménu tenanta, přečtěte si, jak si přečíst podrobnosti o tenantovi.
client_id Ano ID aplikace (klienta) aplikace, kterou jste zaregistrovali v Centru pro správu Microsoft Entra.
username Ano E-mail uživatele zákazníka, například contoso-consumer@contoso.com.
challenge_type Ano Seznam autorizačních řetězců typu výzvy oddělených mezerami, které aplikace podporuje, například oob password redirect. Seznam musí vždy obsahovat typ výzvy redirect . U tohoto požadavku se očekává, že hodnota bude obsahovat oob redirect.

Odpověď na úspěch

Příklad:

HTTP/1.1 200 OK
Content-Type: application/json
{
    "continuation_token": "uY29tL2F1dGhlbnRpY..."
}
Parametr Popis
continuation_token Token pokračování, který Microsoft Entra vrátí.

Pokud aplikace nemůže podporovat požadovanou metodu ověřování microsoftem Entra, je potřeba použít náhradní postup ověřování na základě webu. V tomto scénáři Microsoft Entra informuje aplikaci vrácením typu výzvy přesměrování v odpovědi:

HTTP/1.1 200 OK
Content-Type: application/json
{     
   "challenge_type": "redirect" 
} 
Parametr Popis
challenge_type Microsoft Entra vrátí odpověď, která má typ úkolu. Hodnota tohoto typu výzvy je přesměrování, což aplikaci umožňuje používat webový tok ověřování.

Tato odpověď se považuje za úspěšnou, ale aplikace se vyžaduje k přepnutí na webový tok ověřování. V takovém případě doporučujeme použít knihovnu ověřování vytvořenou microsoftem a podporovanou knihovnu ověřování.

Chybná odpověď

Příklad:

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: b386ad47-23ae-4092-...-1000000\r\nCorrelation ID: 72f57f26-...-3fa6\r\nTimestamp: yyyy-...",
    "error_codes": [ 
        901007 
    ], 
    "timestamp": "yyyy-mm-dd 10:15:00Z",
    "trace_id": "b386ad47-...-0000", 
    "correlation_id": "72f57f26-...-3fa6"
} 
Parametr Popis
error Řetězec kódu chyby, který lze použít ke klasifikaci typů chyb a k reakci na chyby.
error_description Konkrétní chybová zpráva, která vám může pomoct identifikovat příčinu chyby ověřování.
error_codes Seznam kódů chyb specifických pro Microsoft Entra, které vám můžou pomoct s diagnostikou chyb.
timestamp Čas, kdy k chybě došlo.
trace_id Jedinečný identifikátor požadavku, který vám může pomoct s diagnostikou chyb.
correlation_id Jedinečný identifikátor požadavku, který může pomoct s diagnostikou napříč komponentami.

Tady jsou možné chyby, se kterými se můžete setkat (možné hodnoty parametru error ):

Chybová hodnota Popis
invalid_request Ověření parametru challenge_type požadavku se nezdařilo, například když parametr obsahuje neplatný typ výzvy nebo požadavek nezahrnoval client_id parametr, který hodnota ID klienta je prázdná nebo neplatná. Pomocí parametru error_description zjistíte přesnou příčinu chyby.
user_not_found Uživatelské jméno neexistuje.
unsupported_challenge_type Hodnota challenge_type parametru nezahrnuje typ výzvy redirect .
invalid_client ID klienta, které aplikace obsahuje v požadavku, je určená pro aplikaci, která nemá nativní konfiguraci ověřování, například není veřejným klientem nebo není povolená pro nativní ověřování. Pomocí parametru suberror zjistíte přesnou příčinu chyby.
unauthorized_client ID klienta použité v požadavku má platný formát ID klienta, ale v externím tenantovi neexistuje nebo je nesprávný.

Pokud má parametr chyby hodnotu invalid_client, Microsoft Entra do odpovědi zahrne suberror parametr. Tady jsou možné hodnoty parametru suberror pro chybu invalid_client :

Hodnota dílčí chyby Popis
nativeauthapi_disabled ID klienta pro aplikaci, která není pro nativní ověřování povolené.

Krok 2: Výběr metody ověřování

Aby aplikace pokračovala v toku, použije token pro pokračování získaný z předchozího kroku k vyžádání microsoft Entra, aby vybral jeden z podporovaných typů výzvy, pomocí které se má uživatel ověřit. Aplikace odešle do koncového /challenge bodu požadavek POST. Pokud je tato žádost úspěšná, Microsoft Entra odešle jednorázové heslo do e-mailu uživatelského účtu. V tuto chvíli podporujeme jenom jednorázové heslo e-mailu.

Tady je příklad (příklad požadavku prezentujeme ve více řádcích pro čitelnost):

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... 
Parametr Požadováno Popis
tenant_subdomain Ano Subdoména externího tenanta, kterého jste vytvořili. V adrese URL nahraďte {tenant_subdomain} subdoménou adresáře (tenanta). Pokud je například primární doména vašeho tenanta contoso.onmicrosoft.com, použijte contoso. Pokud nemáte subdoménu tenanta, přečtěte si, jak si přečíst podrobnosti o tenantovi.
client_id Ano ID aplikace (klienta) aplikace, kterou jste zaregistrovali v Centru pro správu Microsoft Entra.
continuation_token Ano Token pokračování, který Microsoft Entra vrátil v předchozím požadavku.
challenge_type No Seznam autorizačních řetězců typu výzvy oddělených mezerami, které aplikace podporuje, například oob redirect. Seznam musí vždy obsahovat typ výzvy redirect . U tohoto požadavku se očekává, že hodnota bude obsahovat oob redirect.

Odpověď na úspěch

Příklad:

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
} 
Parametr Popis
continuation_token Token pokračování, který Microsoft Entra vrátí.
challenge_type Typ výzvy vybraný pro ověření uživatele
binding_method Jediná platná hodnota je výzva. Tento parametr lze v budoucnu použít k tomu, aby uživateli nabídl více způsobů, jak zadat jednorázové heslo. Vydáno, pokud challenge_type je oob
challenge_channel Typ kanálu, přes který byl jednorázový přístupový kód odeslán. V tuto chvíli podporujeme e-mail.
challenge_target_label Obfuskovaný e-mail s jednorázovým heslem.
code_length Délka jednorázového hesla, které Generuje Microsoft Entra.

Pokud aplikace nemůže podporovat požadovanou metodu ověřování microsoftem Entra, je potřeba použít náhradní postup ověřování na základě webu. V tomto scénáři Microsoft Entra informuje aplikaci vrácením typu výzvy přesměrování v odpovědi:

HTTP/1.1 200 OK
Content-Type: application/json
{     
   "challenge_type": "redirect" 
} 
Parametr Popis
challenge_type Microsoft Entra vrátí odpověď, která má typ úkolu. Hodnota tohoto typu výzvy je přesměrování, což aplikaci umožňuje používat webový tok ověřování.

Tato odpověď se považuje za úspěšnou, ale aplikace se vyžaduje k přepnutí na webový tok ověřování. V takovém případě doporučujeme použít knihovnu ověřování vytvořenou microsoftem a podporovanou knihovnu ověřování.

Chybná odpověď

Příklad:

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: b386ad47-23ae-4092-...-1000000\r\nCorrelation ID: 72f57f26-...-3fa6\r\nTimestamp: yyyy-...",
    "error_codes": [ 
        901007 
    ], 
    "timestamp": "yyyy-mm-dd 10:15:00Z",
    "trace_id": "b386ad47-...-0000", 
    "correlation_id": "72f57f26-...-3fa6"
} 
Parametr Popis
error Řetězec kódu chyby, který lze použít ke klasifikaci typů chyb a k reakci na chyby.
error_description Konkrétní chybová zpráva, která vám může pomoct identifikovat příčinu chyby ověřování.
error_codes Seznam kódů chyb specifických pro Microsoft Entra, které vám můžou pomoct s diagnostikou chyb.
timestamp Čas, kdy k chybě došlo.
trace_id Jedinečný identifikátor požadavku, který vám může pomoct s diagnostikou chyb.
correlation_id Jedinečný identifikátor požadavku, který může pomoct s diagnostikou napříč komponentami.

Tady jsou možné chyby, se kterými se můžete setkat (možné hodnoty parametru error ):

Chybová hodnota Popis
invalid_request Ověření parametru challenge_type požadavku se nezdařilo, například když parametr obsahuje neplatný typ výzvy nebo ověření tokenu pokračování selhalo.
expired_token Platnost tokenu pro pokračování vypršela.
unsupported_challenge_type Hodnota challenge_type parametru nezahrnuje typ výzvy redirect .

Krok 3: Odeslání jednorázového hesla

Aplikace pak odešle do koncového /continue bodu požadavek POST. V žádosti musí aplikace zahrnout přihlašovací údaje uživatele vybrané v předchozím kroku a token pro pokračování vydaný z koncového /challenge bodu.

Tady je příklad požadavku (příklad požadavku představujeme v několika řádcích pro čitelnost):

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}
Parametr Požadováno Popis
tenant_subdomain Ano Subdoména externího tenanta, kterého jste vytvořili. V adrese URL nahraďte {tenant_subdomain} subdoménou adresáře (tenanta). Pokud je například primární doména vašeho tenanta contoso.onmicrosoft.com, použijte contoso. Pokud nemáte subdoménu tenanta, přečtěte si, jak si přečíst podrobnosti o tenantovi.
continuation_token Ano Token pokračování, který Microsoft Entra vrátil v předchozím požadavku.
client_id Ano ID aplikace (klienta) aplikace, kterou jste zaregistrovali v Centru pro správu Microsoft Entra.
grant_type Ano Jediná platná hodnota je oob.
oob Ano Jednorázové heslo, které uživatel zákazníka obdržel v e-mailu. Nahraďte {otp_code} jednorázovým heslem, které uživatel zákazníka obdržel v e-mailu. Aby aplikace znovu odeslala jednorázové heslo, musí znovu odeslat požadavek na /challenge koncový bod.

Odpověď na úspěch

Příklad:

HTTP/1.1 200 OK
Content-Type: application/json
{ 
    "expires_in": 600,
    "continuation_token": "czZCaGRSa3F0MzpnW...",
} 
Parametr Popis
expires_in Doba v sekundách před vypršením continuation_token vyprší. Maximální hodnota expires_in je 600 sekund.
continuation_token Token pokračování, který Microsoft Entra vrátí.

Chybná odpověď

Příklad:

HTTP/1.1 400 Bad Request
Content-Type: application/json
{ 
    "error": "invalid_request", 
    "error_description": "AADSTS55200: The continuation_token is invalid.\r\nTrace ID: b386ad47-23ae-4092-...-1000000\r\nCorrelation ID: 72f57f26-...-3fa6\r\nTimestamp: yyyy-...",
    "error_codes": [ 
        55200 
    ], 
    "timestamp": "yyyy-mm-dd 10:15:00Z",
    "trace_id": "b386ad47-...-0000", 
    "correlation_id": "72f57f26-...-3fa6"
} 
Parametr Popis
error Řetězec kódu chyby, který lze použít ke klasifikaci typů chyb a k reakci na chyby.
error_description Konkrétní chybová zpráva, která vám může pomoct identifikovat příčinu chyby ověřování.
error_codes Seznam kódů chyb specifických pro Microsoft Entra, které vám můžou pomoct s diagnostikou chyb.
timestamp Čas, kdy k chybě došlo.
trace_id Jedinečný identifikátor požadavku, který vám může pomoct s diagnostikou chyb.
correlation_id Jedinečný identifikátor požadavku, který může pomoct s diagnostikou napříč komponentami.
suberror Řetězec kódu chyby, který lze použít k další klasifikaci typů chyb.

Tady jsou možné chyby, se kterými se můžete setkat (možné hodnoty parametru error ):

Chybová hodnota Popis
invalid_request Ověření parametru požadavku se nezdařilo, například ověření tokenu pokračování selhalo nebo požadavek nezahrnoval client_id parametr, že hodnota ID klienta je prázdná nebo neplatná nebo externí správce tenanta nepovolil samoobslužné resetování hesla a e-mailové heslo pro všechny uživatele tenanta. Pomocí parametru error_description zjistíte přesnou příčinu chyby.
invalid_grant Typ udělení je neznámý nebo neodpovídá očekávané hodnotě typu udělení. Pomocí parametru suberror zjistíte přesnou příčinu chyby.
expired_token Platnost tokenu pro pokračování vypršela.

Pokud má parametr chyby hodnotu invalid_grant, Microsoft Entra do odpovědi zahrne suberror parametr. Tady jsou možné hodnoty parametru suberror pro chybu invalid_grant :

Hodnota dílčí chyby Popis
invalid_oob_value Jednorázové heslo poskytnuté uživatelem je neplatné.

Krok 4: Odeslání nového hesla

Aplikace shromažďuje nové heslo od uživatele a pak pomocí tokenu pro pokračování vydaného /continue koncovým bodem odešle heslo vytvořením požadavku POST do koncového /submit bodu.

Tady je příklad (příklad požadavku prezentujeme ve více řádcích pro čitelnost):

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}
Parametr Požadováno Popis
tenant_subdomain Ano Subdoména externího tenanta, kterého jste vytvořili. V adrese URL nahraďte {tenant_subdomain} subdoménou adresáře (tenanta). Pokud je například primární doména vašeho tenanta contoso.onmicrosoft.com, použijte contoso. Pokud nemáte subdoménu tenanta, přečtěte si, jak si přečíst podrobnosti o tenantovi.
continuation_token Ano Token pokračování, který Microsoft Entra vrátil v předchozím požadavku.
client_id Ano ID aplikace (klienta) aplikace, kterou jste zaregistrovali v Centru pro správu Microsoft Entra.
new_password Ano Nové heslo uživatele Nahraďte {new_password} novým heslem uživatele. Je vaší zodpovědností potvrdit, že uživatel o heslu, které chce použít, tím, že v uživatelském rozhraní aplikace zadá pole pro potvrzení hesla. Musíte také zajistit, aby uživatel věděl o tom, co představuje silné heslo podle zásad vaší organizace. Přečtěte si další informace o zásadách hesel Microsoft Entra.

Odpověď na úspěch

Příklad:

HTTP/1.1 200 OK
Content-Type: application/json
{
    "continuation_token": "uY29tL2F1dGhlbnRpY...",
    "poll_interval": 2
}
Parametr Popis
continuation_token Token pokračování, který Microsoft Entra vrátí.
poll_interval Minimální doba v sekundách, po kterou by aplikace měla čekat mezi požadavky na dotazování a zkontrolovat stav žádosti o resetování hesla prostřednictvím koncového /poll_completion bodu, viz krok 5.

Chybná odpověď

Příklad:

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: b386ad47-23ae-4092-...-1000000\r\nCorrelation ID: 72f57f26-...-3fa6\r\nTimestamp: yyyy-...",
    "error_codes": [ 
        901007 
    ], 
    "timestamp": "yyyy-mm-dd 10:15:00Z",
    "trace_id": "b386ad47-...-0000", 
    "correlation_id": "72f57f26-...-3fa6"
} 
Parametr Popis
error Řetězec kódu chyby, který lze použít ke klasifikaci typů chyb a k reakci na chyby.
error_description Konkrétní chybová zpráva, která vám může pomoct identifikovat příčinu chyby ověřování.
error_codes Seznam kódů chyb specifických pro Microsoft Entra, které vám můžou pomoct s diagnostikou chyb.
timestamp Čas, kdy k chybě došlo.
trace_id Jedinečný identifikátor požadavku, který vám může pomoct s diagnostikou chyb.
correlation_id Jedinečný identifikátor požadavku, který může pomoct s diagnostikou napříč komponentami.
suberror Řetězec kódu chyby, který lze použít k další klasifikaci typů chyb.

Tady jsou možné chyby, se kterými se můžete setkat (možné hodnoty parametru error ):

Chybová hodnota Popis
invalid_request Ověření parametru požadavku se nezdařilo, například ověření tokenu pokračování selhalo.
expired_token Platnost tokenu pro pokračování vypršela.
invalid_grant Odeslané udělení je neplatné, například odeslané heslo je příliš krátké. Pomocí parametru suberror zjistíte přesnou příčinu chyby.

Pokud má parametr chyby hodnotu invalid_grant, Microsoft Entra do odpovědi zahrne suberror parametr. Tady jsou možné hodnoty parametru suberror :

Hodnota dílčí chyby Popis
password_too_weak Heslo je příliš slabé, protože nesplňuje požadavky na složitost. Přečtěte si další informace o zásadách hesel Microsoft Entra.
password_too_short Nové heslo je kratší než 8 znaků. Přečtěte si další informace o zásadách hesel Microsoft Entra.
password_too_long Nové heslo je delší než 256 znaků. Přečtěte si další informace o zásadách hesel Microsoft Entra.
password_recently_used Nové heslo nesmí být stejné jako nedávno použité heslo. Přečtěte si další informace o zásadách hesel Microsoft Entra.
password_banned Nové heslo obsahuje slovo, frázi nebo vzor, které je zakázané. Přečtěte si další informace o zásadách hesel Microsoft Entra.
password_is_invalid Heslo je neplatné, například proto, že používá nepovolené znaky. Přečtěte si další informace o zásadách hesel Microsoft Entra. Tato odpověď je možná, pokud aplikace odešle uživatelské heslo.

Krok 5: Dotazování na stav resetování hesla

Vzhledem k tomu, že aktualizace konfigurace uživatele s novým heslem způsobuje určité zpoždění, může aplikace použít /poll_completion koncový bod k dotazování microsoft Entra na stav resetování hesla. Minimální doba v sekundách, po kterou by aplikace měla čekat mezi požadavky dotazování, se vrátí z koncového /submit bodu v parametru poll_interval .

Tady je příklad (příklad požadavku prezentujeme ve více řádcích pro čitelnost):

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... 
Parametr Požadováno Popis
tenant_subdomain Ano Subdoména externího tenanta, kterého jste vytvořili. V adrese URL nahraďte {tenant_subdomain} subdoménou adresáře (tenanta). Pokud je například primární doména vašeho tenanta contoso.onmicrosoft.com, použijte contoso. Pokud nemáte subdoménu tenanta, přečtěte si, jak si přečíst podrobnosti o tenantovi.
continuation_token Ano Token pokračování, který Microsoft Entra vrátil v předchozím požadavku.
client_id Ano ID aplikace (klienta) aplikace, kterou jste zaregistrovali v Centru pro správu Microsoft Entra.

Odpověď na úspěch

Příklad:

HTTP/1.1 200 OK
Content-Type: application/json
{
    "status": "succeeded",
    "continuation_token":"czZCaGRSa3F0..."
} 
Parametr Popis
status Stav žádosti o resetování hesla Pokud Microsoft Entra vrátí stav selhání, aplikace může nové heslo znovu odeslat vytvořením dalšího požadavku na /submit koncový bod a zahrnout nový token pro pokračování.
continuation_token Token pokračování, který Microsoft Entra vrátí. Pokud je stav úspěšný, může aplikace použít pokračovací token, který Microsoft Entra vrátí, a požádat o tokeny zabezpečení prostřednictvím koncového /token bodu, jak je vysvětleno v kroku 5 postupu registrace. To znamená, že po úspěšném resetování hesla uživatele můžete k aplikaci přímo přihlásit, aniž byste zahájili nový tok přihlášení.

Tady jsou možné stavy, které Microsoft Entra vrátí (možné hodnoty parametru status ):

Chybová hodnota Popis
succeeded Resetování hesla bylo úspěšně dokončeno.
failed Resetování hesla se nezdařilo. Aplikace může nové heslo znovu odeslat vytvořením dalšího požadavku na /submit koncový bod.
not_started Resetování hesla se nezačlo. Aplikace může stav zkontrolovat znovu později.
in_progress Probíhá resetování hesla. Aplikace může stav zkontrolovat znovu později.

Chybná odpověď

Příklad:

HTTP/1.1 400 Bad Request
Content-Type: application/json
{ 
    "error": "expired_token", 
    "error_description": "AADSTS901007: The continuation_token is expired.\r\nTrace ID: b386ad47-23ae-4092-...-1000000\r\nCorrelation ID: 72f57f26-...-3fa6\r\nTimestamp: yyyy-...",
    "error_codes": [ 
        552003 
    ], 
    "timestamp": "yyyy-mm-dd 10:15:00Z",
    "trace_id": "b386ad47-...-0000", 
    "correlation_id": "72f57f26-...-3fa6"
} 
Parametr Popis
error Řetězec kódu chyby, který lze použít ke klasifikaci typů chyb a k reakci na chyby.
error_description Konkrétní chybová zpráva, která vám může pomoct identifikovat příčinu chyby ověřování.
error_codes Seznam kódů chyb specifických pro Microsoft Entra, které vám můžou pomoct s diagnostikou chyb.
timestamp Čas, kdy k chybě došlo.
trace_id Jedinečný identifikátor požadavku, který vám může pomoct s diagnostikou chyb.
correlation_id Jedinečný identifikátor požadavku, který může pomoct s diagnostikou napříč komponentami.

Tady jsou možné chyby, se kterými se můžete setkat (možné hodnoty parametru error ):

Chybová hodnota Popis
invalid_request Ověření parametru požadavku se nezdařilo, například ověření tokenu pokračování selhalo.
expired_token Platnost tokenu pro pokračování vypršela.

Další kroky