Kódy chyb rozhraní API služby žádosti
Ověřené ID Microsoft Entra zahrnuje rozhraní REST API služby požadavků, které umožňuje vydávat a ověřovat přihlašovací údaje. Tento článek určuje kódy chyb pro rozhraní API vyžádané služby.
Ve verzi Public Preview rozhraní API služby požadavku vrátilo chyby v následujícím formátu.
{
"requestId": "4bb6726f77af7623ab52962323016442",
"date": "Thu, 28 Apr 2022 14:30:54 GMT",
"mscv": "17ppwf3uxR10MfRR.1",
"error": {
"code": "client_request.invalid_include_qr_code",
"message": "The request contains `includeQRCode`, but it is not boolean."
}
}
Tento formát se teď změní na následující, aby bylo možné snadněji zpracovávat chyby a lépe podporovat řešení potíží. V novém formátu mají vnější kód chyby a pole zpráv standardizované hodnoty, zatímco innererror
objekt poskytuje podrobnosti o příčině chyby.
{
"requestId": "782628eb-503a-4978-84f2-d7c634f25b15",
"date": "Fri, 29 Apr 2022 11:20:19 GMT",
"mscv": "QbBLwF7XAp0dt4Lw.1",
"error": {
"code": "badRequest",
"message": "The request is invalid.",
"innererror": {
"code": "badOrMissingField",
"message": "The request contains `includeQRCode`, but it is not boolean.",
"target": "includeQRCode"
}
}
}
Vlastnost | Type | Description |
---|---|---|
requestId |
string | ID automaticky vygenerovaného požadavku. |
date |
datum | Čas chyby. |
mscv |
string | Interní kód Microsoftu. |
error |
Chyba | Vnější objekt chyby |
Objekt error
se teď shoduje se stavovými kódy HTTP vrácený z volání rozhraní API, aby se vývojářům usnadnilo zpracování chyb.
Vlastnost | Type | Description |
---|---|---|
code |
string | Návratový kód chyby odpovídající stavovém kódu HTTP. |
message |
string | Standardizovaná chybová zpráva, která je závislá také na vrácený stavový kód HTTP. |
innererror |
Vnitřní chyba | Zadejte podrobnosti o příčině chyby. |
Níže jsou uvedené možné hodnoty nejvyšší úrovně code
, které se mapují na různé vrácené stavové kódy HTTP.
Stavový kód HTTP | code | zpráva |
---|---|---|
400 | badRequest | Požadavek je neplatný. |
401 | Neoprávněným | Požadovaný prostředek vyžaduje ověření. |
403 | Zakázáno | Chybí oprávnění ke splnění této žádosti. |
404 | notFound | Požadovaný prostředek neexistuje. |
405 | methodNotAllowed | Požadovaná metoda není u požadovaného prostředku povolená. |
406 | notAcceptable | Požadovaný formát odpovědi není podporován. |
408 | requestTimeout | Vypršel časový limit požadavku. |
409 | Konflikt | Server nemůže požadavek splnit kvůli konfliktu serveru. |
410 | Pryč | Požadovaný prostředek už není k dispozici. |
411 | contentLengthRequired | Chybí záhlaví Content-Length. |
412 | předběžná podmínka selhala | Předběžná podmínka pro tuto žádost se nezdařila. |
413 | payloadTooLarge | Datová část je příliš velká. |
414 | uriTooLong | Identifikátor URI je příliš dlouhý. |
415 | nepodporovaný typMediaType | Zadaný typ média není podporován. |
416 | rangeNotSatisfiable | Požadovaný rozsah dat nelze splnit. |
417 | expectationFailed | Hlavička Expect nemohla být spokojená. |
421 | chybně nasměrovanýrequest | Pro tento požadavek nelze vytvořit odpověď. |
422 | unprocessableEntity | Požadavek obsahuje sémantické chyby. |
423 | Uzamčen | Zdrojový nebo cílový prostředek je uzamčený. |
429 | tooManyRequests | Příliš mnoho požadavků, zkuste to znovu později. |
431 | requestHeaderFieldsTooLarge | Pole hlavičky požadavku je příliš velké. |
500 | internalServerError | Na serveru došlo k obecné chybě. |
501 | notImplemented | Server nepodporuje požadovanou funkci. |
502 | badGateway | chybná odpověď přijatá z jiné brány |
503 | ServiceUnavailable | Server je dočasně nedostupný, zkuste to prosím znovu později. |
504 | gatewayTimeout | Vypršel časový limit přijatý z jiné brány. |
507 | insufficientStorage | Nelze uložit data pro žádost. |
Vnitřní objekt chyby obsahuje podrobnosti o konkrétní chybě užitečné pro vývojáře, aby pomohl prozkoumat aktuální selhání.
{
"requestId": "782628eb-503a-4978-84f2-d7c634f25b15",
"date": "Fri, 29 Apr 2022 11:20:19 GMT",
"mscv": "QbBLwF7XAp0dt4Lw.1",
"error": {
"code": "badRequest",
"message": "The request is invalid.",
"innererror": {
"code": "badOrMissingField",
"message": "The request contains `includeQRCode`, but it is not boolean.",
"target": "includeQRCode"
}
}
}
Vlastnost | Type | Description |
---|---|---|
code |
string | Kód vnitřní chyby. Obsahuje standardizovaný kód založený na typu chyby. |
message |
string | Vnitřní chybová zpráva. Obsahuje podrobnou zprávu o chybě. V tomto příkladu includeQRCode je pole nesprávného typu. |
target |
string | Nepovinné. Cíl obsahuje pole v požadavku, které způsobuje tuto chybu. Toto pole je volitelné a nemusí existovat v závislosti na typu chyby. |
Kód | Popis |
---|---|
badOrMissingField |
vráceno, když dojde k problémům s ověřováním v požadavku. Pole target obsahuje pole v požadavku, které způsobuje problém. |
notFound |
vrácený, když klient požaduje prostředek, nebyl nalezen. Pole target obsahuje název nebo ID zdroje, které se nenašlo. |
tokenError |
vráceny pro všechny problémy s ověřováním u tokenů, jako je JWT a to se mi líbí. Pole target obsahuje název tokenu, který způsobuje problém, pokud je to možné. |
transientError |
vrácena pro všechny případy, kdy klient může být schopen získat úspěšnou odpověď, pokud požadavek zopakuje v pozdější fázi. Běžným příkladem vrácení tohoto kódu je vrácení kódu HTTP 429. |