Comment créer un Personal Access Token (PAT)

Quand utiliser ce guide

Utilise ce guide quand tu veux :

  • Accéder à l'API gitrust depuis un script ou un outil CI sans exposer ton mot de passe
  • Cloner un dépôt via HTTPS depuis un environnement où SSH n'est pas disponible
  • Révoquer un accès accordé à un outil tiers sans changer ton mot de passe
  • Comprendre quels scopes attribuer à un token selon l'usage

Pré-requis

  • Un compte gitrust actif

Étapes

1. Accéder à la gestion des tokens

Dans ton navigateur, navigue vers Paramètres → Tokens d'accès (/settings/tokens).

La page liste tes tokens existants avec leur nom, leur date de création et leur date d'expiration.

Page /settings/tokens

2. Créer un nouveau token

Clique Créer un token. Remplis le formulaire :

  • Nom : un nom descriptif qui rappelle l'usage (ex. script-backup-2026, ci-github-actions, cli-perso)
  • Expiration : choisis une durée (30 jours, 90 jours, 1 an, ou sans expiration). Pour les scripts de CI, préfère une expiration explicite.
  • Scopes : sélectionne uniquement les permissions nécessaires (principe du moindre privilège)
Scope Permet
repo:read Lire les dépôts, les issues, les PRs, les commits
repo:write Créer des issues, commenter, pousser du code, ouvrir des PRs
user:read Lire les informations de ton profil

Clique Générer le token.

3. Copier le token immédiatement

gitrust affiche le token une seule fois :

gr_pat_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Copie-le immédiatement dans ton gestionnaire de mots de passe. Cette valeur ne sera plus jamais affichée — si tu la perds, tu devras révoquer le token et en créer un nouveau.


Utiliser le token

Avec git clone via HTTPS

git clone https://tonpseudo:gr_pat_xxxx@gitrust.example.com/owner/repo.git

Pour éviter que le token apparaisse dans l'historique du shell, stocke-le dans une variable d'environnement :

export GITRUST_TOKEN="gr_pat_xxxx"
git clone https://tonpseudo:${GITRUST_TOKEN}@gitrust.example.com/owner/repo.git

Avec l'API REST (header Authorization)

curl -H "Authorization: Bearer gr_pat_xxxx" \
     https://gitrust.example.com/api/v1/user

Réponse attendue :

{
  "id": 42,
  "username": "tonpseudo",
  "email": "ton@email.com"
}

Dans un script Python

import urllib.request
import json

token = "gr_pat_xxxx"
req = urllib.request.Request(
    "https://gitrust.example.com/api/v1/user",
    headers={"Authorization": f"Bearer {token}"}
)
with urllib.request.urlopen(req) as resp:
    user = json.load(resp)
    print(user["username"])

Révoquer un token

Dans /settings/tokens, clique Révoquer à côté du token concerné. La révocation est immédiate — toute requête utilisant ce token recevra une réponse 401 Unauthorized.

Cas où révoquer immédiatement :

  • Token exposé accidentellement dans un dépôt public ou des logs
  • Machine ou outil auquel le token était destiné est compromise
  • Token inutilisé depuis longtemps

Variantes

Token sans expiration

Acceptable pour les outils personnels sur une machine de confiance. À déconseiller pour les environnements partagés (CI d'entreprise, scripts déployés sur un serveur). Préfère dans ces cas un token avec expiration de 90 jours renouvelé via un secret manager.

Plusieurs tokens pour un même outil

Crée un token par environnement (local, staging, prod) avec des scopes distincts. Ainsi, compromettre le token de staging n'expose pas la production.


Voir aussi