Informations d'identification OAuth 2.0 pour les applications GitHub - JWT

  • Rversion finale: Australia
  • Mis à jour 12 mars 2026
  • 8 minutes de lecture
  • Procédez comme suit pour intégrer vos applications GitHub à l'aide du jeton de porteur JWT.

    Avant de commencer

    Rôle requis :

    • oauth_admin dans Vélocité de changement DevOps.
    • Administrateur de compte dans GitHub.
      Remarque :
      Le type d’accord OAuth 2.0 JWT est pris en charge pour GitHub et GitHub Enterprise avec serveur MID.

    Configurer l'application GitHub dans votre compte GitHub (JWT)

    Créez une application GitHub personnalisée à partir de votre compte GitHub pour activer l'authentification OAuth 2.0 avec votre instance ServiceNow.

    Avant de commencer

    Condition requise pour GitHub : application GitHub configurée pour s'intégrer à ServiceNow

    Rôle requis : aucun rôle d'instance requis

    Pourquoi et quand exécuter cette tâche

    Suivez les étapes ci-dessous à partir de votre compte GitHub. Reportez-vous à Bâtiment GitHub Applications sur le site des développeurs pour obtenir des instructions sur la création et la configuration d’applications GitHub personnalisées.

    Procédure

    1. À partir de votre GitHub compte, créez votre GitHub application en accédant à Paramètres du développeur > Applications GitHub.
    2. Dans le champ Homepage URL (URL de la page d'accueil), saisissez https://<nom-instance>.service-now.com.
    3. Dans le champ User authorization callback URL (URL de rappel pour l'autorisation de l'utilisateur), saisissez https://<nom-instance>.service-now.com/oauth_redirect.do.
    4. Dans la section Identifying and authorizing users (Identification et autorisation des utilisateurs), désélectionnez le champ Expire user authorization tokens (Faire expirer les jetons d'autorisation d'utilisateur).
    5. Dans la section Webhook, sélectionnez le champ Actif.
    6. Dans le champ URL Webhook, saisissez https://<nom-instance>.service-now.com/api/sn_devops/v2/devops/tool/apps?toolId=<ID de l'outil>, où ID de l'outil est l'ID (sys_id) de votre outil GitHub dans Vélocité de changement DevOps.
      Remarque :
      Si vous venez de créer l'outil et que vous n'avez pas l'ID de l'outil, vous pouvez saisir l'URL du webhook sans l'ID de l'outil et le configurer ultérieurement. Pour le configurer ultérieurement :
      1. Accédez à la page d'enregistrement de l'outil connecté.
      2. Sélectionnez Configurer l'application GitHub, puis Configurer automatiquement avec le jeton existant.

        Configurez automatiquement avec le jeton existant.

      L'URL du webhook de l'application GitHub est configurée automatiquement.
      Vous pouvez obtenir l'ID de l'outil de l'une des manières suivantes :
      • Lors de la connexion à l'outil dans Vélocité de changement DevOps, l'ID de l'outil est disponible dans l'URL de la page. Par exemple, https://<nom-instance>.service-now.com/.../sn_devops_tool/<ID de l'outil>/....
      • Vous pouvez copier l’URL Webhook à partir de la page d’enregistrement de l’outil GitHub dans Vélocité de changement DevOps, à partir de Configurer > Configurer manuellement. > URL Webhook.
    7. Laissez les champs restants vides (par défaut).
    8. Dans la section Repository permissions (Autorisations sur le référentiel), configurez les paramètres suivants.
      Action Lecture seule
      Vérifications Lecture seule
      Contenu Lecture seule
      Déploiements Lecture et écriture
      Environnements Lecture seule
      Métadonnées Lecture seule
      Demandes d'extraction Lecture seule
      Clés secrètes Lecture seule
      Webhooks Lecture et écriture
      Remarque :
      des autorisations de lecture et d'écriture sont nécessaires pour configurer des webhooks à partir de ServiceNow.
      Remarque :
      si vous utilisez déjà une application GitHub et que vous mettez à jour l'une des autorisations, vous devez vérifier et accepter ces autorisations pour votre application GitHub. Vous pouvez accéder à votre application, puis sélectionner Configurer > Examiner la demande > Accept new permissions (Accepter de nouvelles autorisations).
    9. Laissez les autorisations restantes sur Aucun accès (par défaut).
    10. Dans la section Subscribe to events (S'abonner aux événements), sélectionnez l'option Deployment protection rule (Règle de protection du déploiement).
    11. Enregistrez les changements.
    12. Après avoir créé l'application GitHub, générez une nouvelle clé privée et enregistrez-la sur votre ordinateur.
    13. Installez l'application nouvellement créée GitHub sur les comptes de votre choix.
      1. Sur la page des paramètres des applications GitHub, sélectionnez votre application.
      2. Dans la barre latérale gauche, sélectionnez Installer l'application.
      3. Sélectionnez Installer en regard du compte d'organisation ou du compte personnel contenant le référentiel approprié.
      4. Installez l'application dans tous les référentiels ou sélectionnez des référentiels.
        Pour plus d'informations, consultez Installer des applications GitHub.

    Générer le certificat Java KeyStore pour GitHub

    Générez un certificat Java KeyStore (JKS) pour l'authentification JWT.

    Avant de commencer

    Rôle requis : admin

    Procédure

    1. Créez un certificat signé par une autorité de certification à l'aide de la clé privée de l'application GitHub :
      openssl req -new -x509 -key <file-name>.pem -out <certificate-name>.pem -days 1095
    2. Saisissez les détails requis.
    3. Créez le fichier PKCS12 à l'aide de la clé privée de l'application GitHub et du certificat signé par une autorité de certification :
      openssl pkcs12 -export -in <certificate-name>.pem -inkey <file-name>.pem -certfile <certificate-name>.pem -out <PKCS-12-file-name>.p12 
    4. Fournissez le mot de passe d'exportation.
    5. Créez le fichier JKS :
      keytool -importkeystore -srckeystore <PKCS-12-file-name>.p12 -srcstoretype pkcs12 -destkeystore <JKS-certificate-filename>.jks -deststoretype JKS
    6. Fournissez les mots de passe des magasins de clés de destination et source.

    Joindre le certificat GitHub Java KeyStore à votre instance

    Activez l'authentification du jeton Attribution titulaire JWT en joignant le certificat GitHub Java KeyStore (JKS) valide à votre instance ServiceNow.

    Avant de commencer

    Assurez-vous de la disponibilité d'un certificat Java KeyStore valide.

    Rôle requis : admin

    Procédure

    1. Accédez à la Tous > Définition du système > Certificats.
    2. Sélectionnez Nouveau.
    3. Renseignez les champs du formulaire.
      Tableau 1. Champs du formulaire Certificat X.509
      Champ Description
      Nom Nom permettant d'identifier l'enregistrement de façon unique. Par exemple, Mon certificat d'application GitHub.
      Notification à l'expiration Option permettant de spécifier les utilisateurs à notifier à l'expiration du certificat.
      Avertissement avant l'expiration (en jours) Nombre de jours avant l'expiration du certificat.
      Actif Option permettant d'activer le certificat.
      Type Option permettant de sélectionner le type du certificat. Sélectionnez Magasin de clés Java.
      Échéance en jours Nombre de jours avant l'expiration du certificat.
      Mot de passe de magasin de clés Mot de passe associé au certificat (indice : mot de passe du magasin de clés de destination précédemment créé).
      Description brève Résumé du certificat.
    4. Sélectionnez l'icône de pièces jointes ( icône Pièces jointes) et joignez un certificat JKS.
    5. Sélectionnez Valider les magasins/certificats.

    Créer une clé de signature JWT pour le certificat GitHub JKS

    Créez une clé de signature JSON Web Token (JWT) à affecter à votre certificat GitHub Java KeyStore.

    Avant de commencer

    Rôle requis : administrateur, sn_devops.admin

    Procédure

    1. Accédez à la Tous > OAuth système > Clés JWT.
    2. Sélectionnez Nouveau.
    3. Renseignez les champs du formulaire.
      Tableau 2. Champs du formulaire Clés JWT
      Champ Description
      Nom Nom permettant d'identifier la clé de signature JWT de façon unique. Par exemple, Ma clé JWT d'application GitHub.
      Magasin de clés de signature Certificat JKS valide joint à la tâche précédente. Par exemple, Mon certificat d'application GitHub.
      ID de clé ID unique permettant d'identifier la clé utilisée lorsque plusieurs clés sont utilisées pour signer les jetons.
      Algorithme de signature Algorithme de signature avec la clé JWT (indice : RSA 256).
      Signature avec le mot de passe de clé Mot de passe associé à la clé de signature (indice : mot de passe du magasin de clés source créé précédemment).
      Actif Option permettant d'activer la clé.
    4. Sélectionnez Soumettre.

    Créer un fournisseur JWT pour votre clé de signature GitHub

    Ajoutez un fournisseur JSON Web Token (JWT) à votre instance ServiceNow pour GitHub.

    Avant de commencer

    Rôle requis : administrateur, sn_devops.admin

    Procédure

    1. Accédez à la Tous > OAuth système > Fournisseurs JWT.
    2. Sélectionnez Nouveau.
    3. Renseignez les champs du formulaire.
      Tableau 3. Champs du formulaire Fournisseur JWT
      Champ Description
      Nom Nom permettant d'identifier le fournisseur JWT de façon unique. Par exemple, Mon fournisseur JWT d'application GitHub.
      Intervalle d'expiration (s) Définition en nombre de secondes de la durée de vie des jetons du fournisseur JWT (indice : vous pouvez laisser la valeur par défaut).
      Configuration de la signature Clé de signature JWT valide précédemment créée. Par exemple, Ma clé JWT d'application GitHub.
    4. Cliquez avec le bouton droit sur l'en-tête du formulaire, puis sélectionnez Enregistrer.
    5. Saisissez votre ID d'application GitHub (disponible dans la section À propos de la configuration de l'application GitHub dans GitHub) comme valeur de la réclamation iss dans la liste connexe Réclamations standard.
    6. Laissez les valeurs aud et sub non renseignées (par défaut).

    Enregistrer GitHub en tant que fournisseur OAuth (JWT)

    Utilisez les informations générées pendant la configuration du compte de l'application GitHub pour enregistrer GitHub en tant que fournisseur OAuth et permettre à l'instance de demander des jetons OAuth 2.0.

    Avant de commencer

    Rôle requis : administrateur, sn_devops.admin

    Procédure

    1. Accédez à la Tous > OAuth système > Registre d'application.
    2. Sélectionnez Nouveau.
      Le message Quel type d'application OAuth ? s'affiche.
    3. Sélectionnez Se connecter à un fournisseur OAuth tiers.
    4. Renseignez les champs du formulaire.
      Tableau 4. Champs du formulaire Registre d'application
      Champ Description
      Nom Nom permettant d'identifier l'enregistrement de façon unique. Par exemple, saisissez Mon fournisseur d'application GitHub.
      ID client ID client de votre application GitHub (indice : disponible dans la section À propos de votre configuration d'application GitHub dans GitHub).
      Secret client Secret client de votre application GitHub (indice : disponible dans la section À propos de votre configuration d'application GitHub dans GitHub).
      Script de l'API OAuth Option qui vous permet de référencer un include de script OAuthUtil modifié. Sélectionnez OAuthDevOpsGitHubJWTHandler.
      Type d'accord par défaut Type d'accord associé au registre d'application. Sélectionnez Support JWT.
      URL de jeton Emplacement du point de terminaison du jeton que l'instance utilise pour récupérer et actualiser les jetons.

      Pour la version dans le cloud, saisissez : https://api.github.com/app/installations/<installation_id>/access_tokens.

      Pour la version d'entreprise, saisissez : https://<HOST_URL>/api/v3/app/installations/<installation_id>/access_tokens.

      Pour l'ID d'installation, accédez à la section d'installation de l'application dans votre configuration d'application GitHub dans GitHub et sélectionnez l'icône d'engrenage pour configurer votre application. L'ID d'installation se trouve dans l'URL de la page Web. Par exemple, https://github.com/settings/installations/<installation_id>.

    5. Laissez les autres champs de formulaire par défaut.
      Formulaire Registre d'application
    6. Cliquez avec le bouton droit sur l'en-tête du formulaire, puis sélectionnez Enregistrer.
    7. Ouvrez le profil par défaut créé dans la liste connexe Profils des entités OAuth.
    8. Renseignez le champ Fournisseur JWT avec le fournisseur JWT précédemment créé et enregistrez le formulaire.
    9. Accédez à Gestion des clés > Politiques d'accès au module > Tout.
    10. Sélectionnez la politique avec la valeur com_snc_platform_security_oauth_glideencrypter définie dans le champ Module de chiffrement et la valeur Include de script : OAuthDevOpsGitHubJWTHandler définie dans le champ Script cible.
    11. Assurez-vous que le champ Résultat est défini sur Suivre et enregistrez les changements.
      Formulaire indiquant le champ Résultat défini sur Suivre.

    Créer un enregistrement d'informations d'identification pour le fournisseur d'applications GitHub (JWT)

    Créez un enregistrement d'informations d'identification auprès du fournisseur d'applications GitHub précédemment créé pour autoriser les actions.

    Avant de commencer

    Rôle requis : administrateur, sn_devops.admin

    Procédure

    1. Accédez à la Tous > Connexions et informations d'identification > Informations d'identification.
    2. Sélectionnez Nouveau.
      Le message Quel type d'informations d'identification voulez-vous créer ? s'affiche.
    3. Sélectionnez Informations d'identification OAuth 2.0.
    4. Renseignez les champs du formulaire.
      Tableau 5. Champs du formulaire Informations d'identification OAuth 2.0
      Champ Valeur requise
      Nom Nom permettant d'identifier l'enregistrement de façon unique. Par exemple, saisissez Informations d'identification de mon application GitHub.
      Actif Option permettant d'activer l'enregistrement.
      Profil de l'entité OAuth Profil de l'entité OAuth par défaut créé dans le registre d'application.
    5. Enregistrez l'enregistrement.
    6. Sélectionnez le lien connexe Obtenir le jeton OAuth pour générer le jeton OAuth.