Aller au contenu

Configurer le protocole d'authentification OAuth 2.0

Certains bugtrackers ou serveurs de synchronisation peuvent être configurés avec un protocole de type OAuth 2.0. Il n'est pour l'instant exploité que par les connecteurs Jira Bugtracker et Xsquash4Jira.

La configuration se fait à la fois dans Jira et dans Squash TM. Elle diffère selon le mode d'hébergement de Jira (Jira Server/Data Center ou Jira Cloud).

Prérequis

La configuration de OAuth 2.0 pour la connexion entre Squash TM et Jira nécessite les prérequis suivants :

Configurer OAuth 2.0 avec Jira Server et Data Center

Dans Jira

Dans Jira Server et Data Center, il est nécessaire de créer un lien d'application entrant entre Jira et Squash TM :

  1. Aller dans Administration > Applications > Liens entre applications
  2. Cliquer sur [Créer un lien]
  3. Sélectionner App externe comme type d'app, puis Entrante comme direction
  4. Remplir les champs du formulaire :

    • Nom : nom du lien, par exemple "Squash TM"
    • URL de redirection : elle doit être de la forme suivante :

      url-publique-de-squash/oauth2/authentication
      
    • Autorisation : sélectionner l'option Write

  5. Copier les identifiants OAuth 2.0, ID client et Secret du client, qui sont utilisés dans la configuration côté Squash TM

En savoir plus

Pour plus d'informations sur la création et la gestion des liens entre applications, consulter la documentation Jira.

Dans Squash TM

Dans Squash TM, la configuration du protocole d'authentification OAuth 2.0 se fait depuis la page de consultation du serveur dans l'espace 'Bugtrackers et serveurs de synchronisation'.

Dans le bloc "Protocole d'authentification" :

  1. Sélectionner l'option OAuth 2
  2. Remplir les champs du formulaire :

    • Grant type : type d'autorisation, sélectionner Authorisation Code
    • ID client : copier l'ID client généré par Jira
    • Secret du client : copier le secret du client généré par Jira
    • URL d'autorisation : elle est autocomplétée par défaut, elle doit être de la forme :

      url-de-jira/rest/oauth2/latest/authorize
      
    • URL de requêtes de jetons : elle est autocomplétée par défaut, elle doit être de la forme :

      url-de-jira/rest/oauth2/latest/token
      
    • URL de redirection : elle est automcomplétée par défaut, elle doit être de la forme :

      url-publique-de-squash/oauth2/authentication
      
    • Scope : doit correspondre à ce qui a été défini dans Jira dans le champ Autorisation, en MAJUSCULES :

      WRITE
      

Configurer OAuth 2.0 avec Jira Cloud

Dans Jira

Dans Jira Cloud, il est nécessaire de créer une intégration OAuth 2.0 :

  1. Accéder à Atlassian Developer Console
  2. Cliquer sur [Create], puis OAuth 2.0 integration
  3. Saisir un nom pour l'intégration (par exemple "Squash TM"), accepter les conditions d'Atlassian, puis cliquer sur [Create]
  4. Aller dans Distribution, cliquer sur [Edit] et remplir les champs suivants :

    • Distribution status : Sharing
    • Vendor name : Henix
    • Privacy policy :

      https://tm-en.doc.squashtest.com/latest/saas/saas-security.html
      
    • Does your app store personal data? : No

  5. Aller dans Permissions pour paramétrer les scopes :

    • Dans le tableau, au niveau de la ligne "Jira API", cliquer sur [Add], puis [Configure]
    • Dans l'onglet Classic scopes, dans le tableau "Jira platform REST API", cliquer sur [Edit scopes], puis cocher :

      • View Jira issue data (read:jira-work)
      • Manage project settings (manage:jira-project)
      • Manage Jira global settings (manage:jira-configuration)
      • View user profiles (read:jira-user)
      • Create and manage issues (write:jira-work)
    • Dans l'onglet Granular scopes, cliquer sur [Edit scopes], puis cocher :

      • View issue details (read:issue-details:jira)
      • View projects (read:project:jira)
      • View JQL (read:jql:jira)
      • Read board configuration (read:board-scope.admin:jira-software)
      • Read boards, backlogs, and related items (read:board-scope:jira-software)
      • Read sprints (read:sprint:jira-software)
  6. Aller dans Authorization :

    • Dans le tableau, au niveau de la ligne "OAuth 2.0 (3LO)", cliquer sur [Add]
    • Remplir le champ Callback URL, l'URL doit être de la forme suivante :
      url-publique-de-squash/oauth2/authentication
      
  7. Aller dans Settings, puis "Authentication details" et copier les identifiants OAuth 2.0, Client ID et Secret, qui sont utilisés dans la configuration côté Squash TM

Dans Squash TM

Dans Squash TM, la configuration du protocole d'authentification OAuth 2.0 se fait depuis la page de consultation du serveur dans l'espace 'Bugtrackers et serveurs de synchronisation'.

Dans le bloc "Protocole d'authentification" :

  1. Sélectionner l'option OAuth 2
  2. Remplir les champs du formulaire :

    • Grant type : type d'autorisation, sélectionner Authorisation Code
    • ID client : copier l'ID client généré par Jira
    • Secret du client : copier le secret du client généré par Jira
    • URL de d'autorisation : elle est autocomplétée par défaut, elle doit être de la forme :

      https://auth.atlassian.com/authorize
      
    • URL de requêtes de jetons : elle est autocomplétée par défaut, elle doit être de la forme :

      https://auth.atlassian.com/oauth/token
      
    • URL de redirection : elle est automcomplétée par défaut, elle doit être de la forme :

      url-publique-de-squash/oauth2/authentication
      
    • Scope : doit correspondre aux codes des scopes définis dans Jira dans le menu Permissions, c'est-à-dire :

      read:jira-work manage:jira-project manage:jira-configuration read:jira-user write:jira-work read:issue-details:jira read:project:jira read:jql:jira read:board-scope.admin:jira-software read:board-scope:jira-software read:sprint:jira-software
      

Authentification des utilisateurs en OAuth 2.0

Une fois la configuration sauvegardée, selon le mode d'authentification des utilisateurs et l'utilisation de Jira (comme bugtracker ou comme serveur de synchronisation), voici comment s'authentifier à Jira depuis Squash :

  • authentification du serveur (compte technique) : dans le bloc "Politique d'authentification" du serveur, bouton [Générer le jeton]
  • authentification de l'utilisateur :
    • sur la page "Mon compte" de l'utilisateur, bloc "Mode de configuration des bugtrackers, bouton [Générer le jeton]
    • lors de la déclaration d'anomalie depuis Squash TM ou depuis les blocs "Anomalies connues", bouton [Se connecter]
    • lors de l'ajout d'une synchronisation Xsquash4Jira avec les identifiants de l'utilisateur, bouton [Générer le jeton] (uniquement pour l'administrateur et le chef de projet)

En savoir plus

Pour en savoir sur le mode d'authentification des utilisateurs, consulter la page Politique d'authentification