Codes de statut HTTP de l'API d'authentification à plusieurs facteurs et à la demande

Les API d'authentification à plusieurs facteurs (MFA) et d'authentification à la demande pour les domaines d'identité dans IAM sont conformes à REST et utilisent des codes de statut de réponse HTTP standard pour indiquer un échec.

Ce tableau décrit les différents codes statut et les cas d'emploi dans lesquels ces codes statut sont envoyés.

Reportez-vous à la section Définitions de code de statut du protocole de transfert hypertexte HTTP/1.1.

Code de statut HTTP

Cas d'emploi

Exemple de corps de réponse JSON

400 Bad Request

Ce code indique une demande incorrecte. Ce code est envoyé si un attribut est fourni avec une valeur non valide dans la charge utile, ce qui signifie des problèmes de syntaxe.

{
    "status": "failed",
    "ecid": "Suwmo0F0000000000",
    "cause":
            [
                {
                    "message": "Invalid value [EMAILS] for attribute authFactor. One of [USERNAME_PASSWORD,PUSH,TOTP,EMAIL,SMS,BYPASSCODE, SECURITY_QUESTIONS] was expected.",
                    "code": "AUTH-1111"
                }
            ],
    "requestState": "bnJ7Qkz2Vff0RNuxwcJQwnaQFA"
}
401 Unauthorized

Ce code indique un accès non autorisé. Utilisé lorsque l'élément requestState n'est pas valide ou a expiré, ou lorsque l'ID de l'élément otpCode fourni pendant l'authentification n'est pas valide.

{
    "status": "failed",
    "ecid": "3YkZh1H0000000000",
    "cause":
            [
                {
                    "message": "You entered an incorrect username or password.",
                    "code": "AUTH-3001"
                }
            ],
    "requestState": "b0EYFnXpo"
}
422

Ce code est utilisé lorsque la requête est syntaxiquement correcte, mais sémantiquement incorrecte. 422 signifie que la requête est une entité non traitable. Par exemple, lorsque l'attribut op est manquant dans la demande, ce qui est obligatoire pour une action donnée.

{
    "status": "failed",
    "ecid": "KIN^r0J0000000000",
    "nextOp": ["credSubmit"],
    "cause":
            [
                {
                    "message": "Your input request is missing the op attribute, which is mandatory.",
                    "code": "AUTH-1111"
                }
            ],
    "requestState": "b0EYFnLpFWEihmJ6btqTXpo",
    "USERNAME_PASSWORD":
            {
                "credentials": ["username", "password"]
            },
    "nextAuthFactors": ["USERNAME_PASSWORD"]
}
500 Internal Server Error

Ce code indique une erreur de serveur interne. Lorsque cette erreur se produit, la réponse contient ecId et la cause afin que le client puisse contacter l'administrateur pour plus de détails.