Aller au contenu

Tokens

Les tokens projet Pionne sont les clés utilisées par le SDK pour s’authentifier sur /api/ingest.

pio_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  • Préfixe pio_live_ (réservé pour les tokens de production).
  • 48 caractères base62 random (a-zA-Z0-9).
  • Entropie : ~285 bits — résistant au brute force.

Un token projet a un scope strictement écriture sur /api/ingest. Il ne peut pas :

  • Lister tes events ou issues.
  • Modifier ton projet.
  • Accéder à d’autres projets.
  • Lire ou modifier ton compte utilisateur.

C’est pour ça qu’il est safe de bundler le token dans ton app.

Pionne ne stocke jamais le token en clair :

StockéUsage
Hash bcrypt (cost 10)Vérification au login d’un event
Lookup 12 premiers chars (indexé)Lookup rapide avant le bcrypt

Si quelqu’un obtient un dump de la base, il ne peut pas récupérer les tokens originaux.

Deux façons de régénérer :

Settings → Project → Token → “Regenerate”. Le nouveau token s’affiche une seule fois ; l’ancien est invalidé instantanément.

Fenêtre de terminal
curl -X POST https://api.pionne.app/projects/\{id\}/regenerate \
-H "Authorization: Bearer <user-token>"

Réponse :

{ "token": "pio_live_yyyyyyyyyy..." }
  • Tu as commit ton .env par erreur sur GitHub.
  • Tu suspectes une fuite (pic d’events anormal sur un Bundle ID que tu ne reconnais pas).
  • Un dev quitte l’équipe.
  • Rotation périodique (best practice : tous les 6-12 mois).

À ne pas confondre avec les auth tokens user émis par Sanctum (cf. API Auth). Ceux-ci :

  • Format : <id>|<random> (ex: 2|abcXYZ...).
  • Scope : lecture/écriture sur tout ton compte.
  • Utilisés par : l’app mobile Pionne, la CLI upload-sourcemaps, tes scripts CI.
  • Jamais à bundler dans une app.
  • Tokens projet → dans .env + EXPO_PUBLIC_PIONNE_TOKEN, safe à bundler.
  • Auth tokens user → dans EAS Secrets / GitHub Secrets, jamais bundlés.
  • Activez le Bundle ID pinning (auto, rien à faire) pour limiter l’impact d’une fuite.