Flux d’octroi du code d’autorisation OAuth

  • Rversion finale: Australia
  • Mis à jour 12 mars 2026
  • 3 minutes de lecture
  • Le flux d’octroi de code d’autorisation permet à un utilisateur d’accéder à une ressource en s’authentifiant directement auprès d’un serveur OAuth qui fait confiance à la ressource, contrairement à l’authentification avec des informations d’identification par nom d’utilisateur/mot de passe.

    Cette implémentation du flux de code d’autorisation OAuth permet d’accéder à une ressource via REST. Le cadre de travail du code d’autorisation obtient le jeton d’accès via l’URL autorisée que l’utilisateur configure plutôt que de demander à l’utilisateur de saisir un nom d’utilisateur/mot de passe. Le nom d’utilisateur/mot de passe n’est jamais exposé au client qui demande l’accès à la ressource.

    Une ServiceNow instance en tant que serveur d’autorisation

    Le serveur OAuth est généralement un serveur d’autorisation tiers. Vous pouvez également spécifier une ServiceNow instance comme serveur d’autorisation qui émet les jetons pour le flux de code d’autorisation.

    L’utilisateur propriétaire de la ressource restreinte doit autoriser l’accès. L’utilisateur peut également révoquer le jeton d’accès émis à tout moment pour mettre fin à l’accès.

    Processus de flux d’octroi du code d’autorisation

    Le processus d’octroi du code d’autorisation se compose des trois étapes suivantes :

    Processus de flux d’octroi du code d’autorisation

    Dans la première étape, l’application cliente ou le site Web lance un appel d’API REST sous la forme d’une demande GET à l’instance via l’agent utilisateur. En règle générale, l’appel REST est lancé lorsque l’utilisateur final clique sur un bouton ou un lien sur l’application ou le site Web du client pour demander un jeton d’accès. Dans l’application cliente, l’utilisateur final doit également spécifier l’URL d’autorisation, l’URL du jeton, l’ID client et le secret client. Pour obtenir des explications sur ces éléments, consultez les descriptions des champs dans cette rubrique : Utiliser un fournisseur OAuth tiers. Si le client demande un type d’accord, l’utilisateur final doit sélectionner Code d’autorisation.

    Exemple de demande GET de l’application cliente vers l’instance :
    https://myinstance.service-now.com/oauth_auth.do?response_type=code&redirect_uri={the_redirect_url}&client_id={the_client_identifier}
    Remarque :
    Le response_type doit être un code pour utiliser le flux d’attribution de code OAuth standard.
    L’utilisateur final doit autoriser manuellement l’accès à la ressource restreinte sur l’instance. Dans la ServiceNow mise en œuvre, l’utilisateur final doit être connecté à l’instance. L’instance invite l’utilisateur final avec une page d’interface utilisateur comportant des boutons Autoriser et Refuser .

    L’élément auprès duquel l’application cliente demande réellement le jeton est l’enregistrement de registre d’application du fournisseur OAuth que vous avez créé, également connu sous le nom de point de terminaison d’autorisation (voir Utiliser un fournisseur OAuth tiers). Le code d’authentification est envoyé du point de terminaison d’autorisation au client. Il ne va pas directement au client, mais à l’URL de redirection que vous spécifiez sur le formulaire de point de terminaison d’autorisation. Cette URL est également connue sous le nom d’URL de rappel. Vous pouvez obtenir cette URL à partir de l’application cliente ou du site Web.

    Exemple de réponse de l’instance à l’application cliente, fournissant un code d’autorisation :
    https/http://{callbackURL}?code={the actual auth code}

    L’application cliente envoie le code d’authentification à l’instance ServiceNow, qui à son tour envoie un jeton

    Maintenant que l’application cliente dispose du code d’autorisation, le client utilise le code pour demander le jeton d’accès. Le code d’autorisation prouve que l’utilisateur a donné son consentement à l’étape 1.

    Exemple de demande POST de l’application cliente à l’instance ServiceNow qui fournit le code d’authentification et demande le jeton d’accès :
    https://myinstance.service-now.com/oauth_token.do?grant_type=authorization_code&code={the auth code}&redirect_uri={the_same_redirect_url}&client_id={the_same_client_identifier}&client_secret={client_secret_value}

    Le point de terminaison sur l’instance renvoie un jeton d’accès et un jeton d’actualisation. Le jeton d’actualisation peut être utilisé pour demander des jetons d’accès supplémentaires.

    Vous pouvez gérer les jetons, y compris la révocation du jeton, dans l’instance. Consultez Gérer les jetons OAuth.

    L’application cliente envoie un jeton à l’instance ServiceNow, qui envoie ensuite une charge utile JSON de données

    L’application cliente utilise le jeton d’accès pour s’authentifier à l’API REST. Après avoir authentifié l’application cliente, l’API REST renvoie les données demandées dans une charge utile JSON.

    Exemple de demande GET pour la charge utile JSON de données pour la table Incident [incident] :
    https://myinstance.service-now.com/api/now/table/incident?access_token={the_token}
    Remarque :
    Le système prend également en charge les octrois implicites OAuth, également appelés flux de code d’octet implicite.

    Prise en charge de l’intégration

    Le flux de code d’autorisation prend en charge les intégrations suivantes sur l’instance :
    • SSO (Authentification unique) de plusieurs fournisseurs
    • Mise à jour SAML 2.0 1
    • Authentification multifacteur

    L’interface mobile est également prise en charge.