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

Les API d'authentification et d'authentification à plusieurs facteurs à 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 de statut et les cas d'utilisation dans lesquels ces codes de 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 la 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 requestState n'est pas valide ou a expiré, ou lorsque l'ID de otpCode fourni lors de 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 demande présente une syntaxe correcte, mais est sémantiquement incorrecte. 422 signifie que la demande est une entité impossible à traiter. 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.