Paramètres de demande de l’API OAuth

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 2 minutes de lecture
  • Découvrez les paramètres de demande d’API OAuth utilisés par les demandes de jeton d’accès.

    Remarque :
    Le type de contenu de l’API OAuth doit être application/x-www-form-urlencoded. Un type de contenu d’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 de 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 d’utilisateur qui autorise la demande de jeton d’accès. Ce paramètre est requis pour les demandes de jeton d’accès avec un grant_type de 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 jeton d’accès avec un grant_type de 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 utilisant les informations d’identification de l’utilisateur

    L’instance demande aux clients de fournir des informations d’identification de connexion d’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
    • Un 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 fausse, l’instance ne produit pas de jeton d’accès. Les demandes d’accès effectuées dans 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 cryptage TLS pour protéger les informations d’identification de l’utilisateur lors de la transmission.

    L’exemple suivant illustre la demande d’un jeton d’accès avec un ensemble d’informations d’identification de l’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 nouveau 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 dans 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 d’informations d’identification d’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