Codes d’erreur de l’API du service de requête
Remarque
La Vérification d’identité Microsoft Entra fait désormais partie de la famille de produits Microsoft Entra. En savoir plus sur la famille Microsoft Entra de solutions d’identité et bien démarrer dans le centre d’administration unifié Microsoft Entra.
Vérification d’identité Microsoft Entra inclut l’API REST du service de requête, qui vous permet d’émettre et de vérifier des informations d’identification. Cet article spécifie les codes d’erreur pour l’API du service de requête.
Objet d’erreur
Lors de la préversion publique, l’API du service de requête retournait des erreurs au format suivant.
{
"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."
}
}
Ce format a maintenant changé comme suit, afin de faciliter la gestion des erreurs et une meilleure prise en charge de la résolution des problèmes. Dans le nouveau format, le code d’erreur externe et les champs de message ont des valeurs normalisées, tandis que l’objet innererror
fournit des détails sur ce qui a provoqué l’erreur.
{
"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"
}
}
}
Propriété | Type | Description |
---|---|---|
requestId |
string | ID de demande généré automatiquement. |
date |
Date | Heure de l’erreur. |
mscv |
string | Code Microsoft interne. |
error |
Error | Objet d’erreur externe |
Type d’erreur
L’objet error
correspond désormais au code d’état HTTP retourné par l’appel d’API afin de faciliter la gestion des erreurs pour les développeurs.
Propriété | Type | Description |
---|---|---|
code |
string | Code d’erreur de retour correspondant au code d’état HTTP. |
message |
string | Message d’erreur normalisé qui dépend également du code d’état HTTP retourné. |
innererror |
Innererror | Fournit des détails sur ce qui a provoqué l’erreur. |
Codes d’erreur et messages
Voici les valeurs code
de niveau supérieur possibles qui correspondent aux différents codes d’état HTTP retournés.
Code d’état HTTP | code | message |
---|---|---|
400 | badRequest | La requête n’est pas valide. |
401 | non autorisés | La ressource demandée nécessite une authentification |
403 | forbidden | Autorisations manquantes pour répondre à cette requête. |
404 | notFound | La ressource demandée n’existe pas. |
405 | methodNotAllowed | La méthode demandée n’est pas autorisée sur la ressource demandée. |
406 | notAcceptable | Format de réponse demandé non pris en charge. |
408 | requestTimeout | La demande a expiré. |
409 | conflit | Le serveur ne peut pas répondre à la requête en raison d’un conflit de serveur. |
410 | gone | La ressource demandée n’est plus disponible. |
411 | contentLengthRequired | L’en-tête Content-Length est manquant. |
412 | preconditionFailed | Une condition préalable pour cette requête a échoué. |
413 | PayloadTooLarge | La charge utile est trop grande. |
414 | uriTooLong | L’URI est trop long. |
415 | unsupportedMediaType | Le type de média spécifié n’est pas pris en charge. |
416 | rangeNotSatisfiable | La plage de données demandée ne peut pas être satisfaite. |
417 | expectationFailed | L’en-tête Expect n’a pas pu être satisfait. |
421 | misdirectedRequest | Impossible de produire une réponse pour cette requête. |
422 | UnprocessableEntity | La requête contient des erreurs sémantiques. |
423 | locked | La ressource source ou de destination est verrouillée. |
429 | tooManyRequests | Trop de requêtes. Réessayez plus tard. |
431 | requestHeaderFieldsTooLarge | Le champ d’en-tête de requête est trop grand. |
500 | internalServerError | Une erreur générique s’est produite sur le serveur. |
501 | notImplemented | Le serveur ne prend pas en charge la fonction demandée. |
502 | badGateway | Réponse incorrecte reçue d’une autre passerelle. |
503 | serviceUnavailable | Le serveur est momentanément indisponible. Réessayez ultérieurement. |
504 | gatewayTimeout | Expiration du délai d’attente d’une autre passerelle. |
507 | insufficientStorage | Impossible d’enregistrer les données de la requête. |
Type d’erreur interne
L’objet d’erreur interne contient des détails propres à l’erreur utiles au développeur pour aider à investiguer l’échec actuel.
{
"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"
}
}
}
Propriété | Type | Description |
---|---|---|
code |
string | Code d’erreur interne. Contient un code normalisé basé sur le type de l’erreur. |
message |
string | Message d’erreur interne. Contient un message détaillé de l’erreur. Dans cet exemple, le champ includeQRCode est de type incorrect. |
target |
string | facultatif. La cible contient le champ dans la requête qui provoque cette erreur. Ce champ est facultatif et peut ne pas être présent, en fonction du type d’erreur. |
Codes d’erreur internes
Code | Description |
---|---|
badOrMissingField |
Retourné lorsque des problèmes de validation sur la requête se produisent. Le champ target contient le champ dans la requête qui provoque le problème. |
notFound |
Retourné lorsqu’une ressource demandée par le client est introuvable. Le champ target contient le nom/l’ID de ressource introuvable. |
tokenError |
Retourné pour tous les problèmes de validation sur des jetons tels que JWT. Le champ target contient le nom du jeton à l’origine du problème, le cas échéant. |
transientError |
Retourné pour tous les cas où le client est susceptible d’obtenir une réponse positive s’il soumet à nouveau la requête à un stade ultérieur. Un exemple courant de retour de ce code est lorsqu’un code HTTP 429 est retourné. |