Paramètres de demande d’API OAuth

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 2 minutes de lecture
  • Découvrez les paramètres de demande d’API OAuth utilisés par les demandes de jetons d’accès.

    Remarque :
    Le type de contenu de l’API OAuth doit être application/x-www-form-urlencoded. Un type de contenu application/json entraîne une erreur non spécifiée.
    Tableau 1. Paramètres de demande de jeton d’accès
    Paramètre de demande Description
    grant_type [Obligatoire] Type d’informations d’identification autorisant la demande d’un jeton d’accès. Ce paramètre doit avoir l’une des valeurs suivantes :
    • mot de passe : ensemble d’informations d’identification de l’utilisateur pour autoriser la demande de jeton d’accès. Spécifiez les informations d’identification de l’utilisateur dans les paramètres nom d’utilisateur et mot de passe.
    • refresh_token : un jeton d’actualisation existant autorise la demande de jeton d’accès. Spécifiez le jeton d’actualisation dans le paramètre refresh_token.
    client_id [Obligatoire] ID unique généré automatiquement de l’application cliente demandant le jeton d’accès.
    client_secret [Obligatoire] Chaîne secrète partagée que l’instance et l’application OAuth utilisent pour autoriser les communications entre elles.
    nom d'utilisateur Nom du compte utilisateur qui autorise la demande de jeton d’accès. Ce paramètre est requis pour les demandes de jetons d’accès avec un grant_typede mot de passe.
    mot de passe Mot de passe du compte d’utilisateur qui autorise la demande de jeton d’accès. Ce paramètre est requis pour les demandes de jetons d’accès avec un grant_typede mot de passe.
    refresh_token Jeton d’actualisation existant qui autorise la demande de jeton d’accès. Ce paramètre est requis pour les demandes de jetons d’accès avec un grant_type de refresh_token.

    Demandes à l’aide des informations d’identification de l’utilisateur

    L’instance exige que les clients fournissent les informations d’identification de connexion de l’utilisateur lors de la première autorisation du client ou lors de l’autorisation de la création d’un jeton d’actualisation. Ce type de requête renvoie toujours deux jetons :

    • Un jeton d’accès
    • Jeton d’actualisation

    L’instance vérifie que l’utilisateur est actif, qu’il n’est pas actuellement verrouillé et qu’il dispose d’une session interactive. Si l’une de ces conditions est false, l’instance ne génère pas de jeton d’accès. Les demandes d’accès effectuées pendant le délai d’expiration du jeton d’accès renvoient toujours le jeton d’accès actuel.

    Remarque :
    Ce type d’octroi d’autorisation repose sur le chiffrement TLS pour protéger les informations d’identification de l’utilisateur pendant la transmission.

    L’exemple suivant illustre la demande d’un jeton d’accès avec un ensemble d’informations d’identification utilisateur (des espaces ont été ajoutés pour améliorer la lisibilité).

    
    $ curl -d"grant_type=password&client_id=be3aeb583ace210011c15b24a43e25d8
    &client_secret=client_password
    &username=admin&password=admin" 
    https://instancename.service-now.com/oauth_token.do

    Demandes utilisant un jeton d’actualisation

    L’instance peut utiliser un jeton d’actualisation existant pour créer un jeton d’accès. Ce type de demande renvoie uniquement un jeton d’accès. L’instance confirme que le jeton d’actualisation n’a pas expiré avant de générer un nouveau jeton d’accès. Les demandes d’accès effectuées pendant le délai d’expiration du jeton d’actualisation renvoient toujours le jeton d’actualisation actuel. La transmission de jetons d’actualisation est généralement plus sécurisée que la transmission des informations d’identification de l’utilisateur. L’exemple suivant illustre la demande d’un jeton d’accès avec un jeton d’actualisation existant (des espaces ont été ajoutés pour améliorer la lisibilité).

    
    $ curl -d"grant_type=refresh_token&client_id=be3aeb583ace210011c15b24a43e25d8
    &client_secret=client_password
    &refresh_token=w599voG89897rGVDmdp12WA681r9E5948c1CJTPi8g4HGc4NWaz62k6k1K0FMxHW40H8yOO3Hoe" 
    https://instancename.service-now.com/oauth_token.do