Passer au contenu principal

Documentation Index

Fetch the complete documentation index at: https://docs.replit.com/llms.txt

Use this file to discover all available pages before exploring further.

Les jetons d’accès externe sont des jetons porteurs que vous créez pour une application Replit spécifique. Ils permettent aux services automatisés — pipelines CI, webhooks, moniteurs de disponibilité, bots Slack, scripts internes — d’accéder à l’application même lorsque son URL est verrouillée par une URL de développement privée ou par un Déploiement privé. Traitez chaque jeton comme un mot de passe : toute personne qui le possède peut accéder à votre application jusqu’à l’expiration du jeton ou jusqu’à ce que vous le révoquez.
Les jetons d’accès externe sont disponibles avec les plans Replit Core et Pro. Les clients Enterprise doivent demander l’activation auprès de Replit avant que la fonctionnalité soit activée pour leur espace de travail. Les jetons n’apparaissent dans les paramètres de publication qu’une fois le déploiement rendu privé.

Quand utiliser un jeton

Utilisez un jeton d’accès externe lorsqu’un service extérieur à votre navigateur doit appeler votre application Replit privée. Cas courants :
  • Un workflow GitHub Actions qui exécute un test de fumée sur votre URL de développement à chaque commit.
  • Un moniteur de disponibilité (Better Stack, Pingdom, UptimeRobot) qui interroge un point de terminaison de santé sur votre application publiée.
  • Un récepteur de webhook — Stripe, Slack, GitHub — envoyant un POST vers un Déploiement privé.
  • Un appel curl ou fetch depuis la machine d’un collègue pendant le débogage.
Les jetons d’accès externe sont conçus pour le trafic API, pas pour ouvrir des pages d’interface utilisateur dans un navigateur. Les applications monopages (Vite, Next.js, etc.) chargent des bundles JavaScript dans des requêtes ultérieures qui ne porteront pas votre jeton, ces requêtes échoueront donc. Pour la navigation interactive, connectez-vous normalement.

Environnements des jetons

Chaque jeton est lié à un environnement :
EnvironnementOù il fonctionneUtilisation
DevelopmentL’URL de développement de l’espace de travail de l’application (*.replit.dev)Accès à un Repl en cours d’exécution pendant le développement
ProductionLe déploiement publié de l’application (*.replit.app et domaines personnalisés)Accès à un Déploiement privé depuis des services externes
Un jeton Production est lié au déploiement actuellement publié. Si vous republicez sur un nouveau déploiement, les jetons de production existants cessent de fonctionner et vous devez en créer de nouveaux.

Créer un jeton d’accès externe

1
Ouvrez l’application que vous souhaitez exposer, puis ouvrez l’outil Publication.
2
Sélectionnez Ajuster les paramètres pour développer les options de redéploiement.
3
Dans la section Sécurité, trouvez Jetons d’accès externe.
4
Sélectionnez Créer un jeton d’accès et renseignez :
  • Libellé (facultatif) : un nom court pour reconnaître le jeton ultérieurement, tel que CI ou Stripe webhook. Maximum 120 caractères.
  • Environnement : choisissez Development ou Production selon l’endroit où le service appelant doit accéder à l’application.
  • Expire après : choisissez une durée de vie — 1 heure, 24 heures, 7 jours, 30 jours, 3 mois, 1 an ou 5 ans. Choisissez la fenêtre la plus courte adaptée au besoin. Il n’y a pas d’option “n’expire jamais”.
5
Sélectionnez Créer.
Replit affiche le jeton une seule fois. Copiez-le maintenant — une fois la boîte de dialogue fermée, il n’est plus possible de voir le jeton à nouveau. Si vous le perdez, révoquez ce jeton et créez-en un nouveau. L’écran de révélation propose deux actions de copie :
  • Copier le paramètre de requête — copie ?project-protection-bypass=<token> à ajouter à une URL. Pratique pour des vérifications rapides avec curl.
  • Copier le jeton uniquement — copie le jeton brut, adapté pour l’envoi dans un en-tête Authorization: Bearer.
La création de votre premier jeton active automatiquement l’accès externe pour l’application, si ce n’était pas déjà le cas. Sans protection, le jeton n’a rien à contourner.

Utiliser un jeton

Présentez le jeton de l’une des deux façons suivantes :

En-tête d’autorisation (recommandé)

C’est le bon choix pour presque tout — webhooks, scripts CI, appels backend à backend. Le jeton n’apparaît jamais dans les journaux qui capturent les URLs et ne se retrouve jamais dans votre historique de navigation.

Paramètre de requête


Utilisez la forme de paramètre de requête uniquement lorsque vous ne pouvez pas définir d'en-têtes — par exemple, un
service qui ne prend qu'une URL. Les URLs avec des jetons se retrouvent souvent dans les journaux proxy,
l'historique shell et les captures d'écran, alors préférez la forme d'en-tête chaque fois que vous le pouvez.

## Gérer les jetons existants

La section **Jetons d'accès externe** liste tous les jetons que vous avez créés pour
l'application — les plus récents en premier — avec leur libellé, environnement, date de création,
expiration et statut de révocation. Les derniers caractères du jeton sont affichés sur chaque ligne
pour vous aider à distinguer les jetons, étant donné que la valeur complète n'est affichée qu'au moment
de la création.

Vous ne voyez que les jetons que *vous* avez créés. Les jetons d'autres collaborateurs leur sont
privés, même si vous êtes propriétaire de l'application.

## Révoquer un jeton

Révoquez un jeton dès qu'il n'est plus nécessaire, ou dès que vous suspectez qu'il a pu être
compromis. Pour révoquer :

<Steps>
  <Step>
    Ouvrez la section **Jetons d'accès externe** dans les paramètres de publication de l'application.
  </Step>
  <Step>
    Trouvez le jeton dans la liste et sélectionnez l'icône de corbeille.
  </Step>
  <Step>
    Confirmez la révocation.
  </Step>
</Steps>

La révocation est **immédiate et irréversible**. Tout trafic utilisant encore le jeton commence
à être rejeté en quelques secondes. Si vous avez à nouveau besoin d'accès, créez un nouveau jeton.

Vous ne pouvez révoquer que les jetons que vous avez vous-même créés. La suppression d'un collaborateur
de l'espace de travail révoque automatiquement les jetons qu'il a créés pour cette application.

## Protéger vos jetons

Les jetons d'accès externe sont des identifiants. Traitez-les avec le même soin que vous accorderiez
à une clé API ou un mot de passe.

### À faire

- **Stockez les jetons dans un gestionnaire de secrets** les secrets GitHub Actions, le coffre de
  votre fournisseur CI, le magasin de secrets de votre fournisseur cloud ou un gestionnaire de mots de passe.
  Ne les committez jamais dans un dépôt.
- **Utilisez des durées courtes** lorsque possible. Un jeton de 7 jours pour une intégration ponctuelle
  est plus sûr qu'un jeton de 5 ans laissé traîner.
- **Étiquetez chaque jeton** pour que vous sachiez ultérieurement à quoi il sert et s'il est toujours
  utilisé. Les jetons sans étiquette sont les premiers à fuiter et les derniers à être révoqués.
- **Créez un jeton séparé par consommateur.** Un jeton par tâche CI, un par source de webhook, un par
  vérification de disponibilité. Lorsque quelque chose est compromis ou qu'un fournisseur n'est plus
  nécessaire vous ne révoquez que celui-là.
- **Préférez l'en-tête `Authorization`** aux paramètres de requête pour que le jeton ne fuie pas via
  les journaux d'URL, l'historique du navigateur ou les en-têtes de référent.
- **Révoquez immédiatement** si un jeton a pu être exposé — un journal divulgué, un commit dans un
  dépôt public, un partage d'écran, l'ordinateur portable d'un ancien employé. La révocation prend
  effet immédiatement ; créez ensuite un remplacement.

### À ne pas faire

- **Ne partagez pas un jeton entre collègues ou services.** Si deux systèmes partagent un jeton,
  vous ne pouvez pas en révoquer un sans casser l'autre.
- **Ne collez pas les jetons dans les chats, emails, captures d'écran ou outils de suivi des problèmes.**
  Ces canaux sont archivés, indexés et partagés de façons que vous ne pouvez pas prévoir.
- **N'incorporez pas de jetons dans le code côté client** — applications navigateur, applications
  mobiles, binaires desktop. Tout ce qui est envoyé vers l'appareil d'un utilisateur doit être
  considéré comme public.
- **Ne vous fiez pas aux jetons pour les sessions navigateur.** Les jetons fonctionnent pour les
  appels API, pas pour charger des SPA dans un onglet navigateur. Utilisez une connexion Replit
  normale pour cela.
- **Ne choisissez pas une expiration de 5 ans par défaut.** Adaptez la durée de vie à la durée
  pendant laquelle le consommateur a réellement besoin d'un accès.

## Dépannage

<Accordion title="Mon jeton de production a soudainement cessé de fonctionner">
  Les jetons de production sont liés à un déploiement publié spécifique. Si vous avez republié
  l'application — par exemple, en changeant le type de déploiement ou en détruisant et recréant
  le déploiement — les jetons de production existants sont invalidés. Créez un nouveau jeton depuis
  les paramètres du nouveau déploiement.
</Accordion>

<Accordion title="Mon jeton fonctionne avec `curl` mais mon navigateur affiche toujours la page de connexion">
  Les jetons d'accès externe sont destinés au trafic API, pas aux sessions navigateur. Lorsqu'une
  application monopage se charge dans un navigateur, la requête HTML initiale peut porter le jeton
  via un paramètre de requête, mais les requêtes ultérieures pour les bundles JavaScript, CSS et les
  appels API ne l'incluront pas et seront rejetées. Pour naviguer dans l'application de façon
  interactive, connectez-vous normalement à Replit.
</Accordion>

<Accordion title="J'ai perdu le jeton puis-je le voir à nouveau ?">
  Non. Replit n'affiche le jeton qu'une seule fois, au moment de la création. La vue liste affiche
  les métadonnées (libellé, environnement, expiration, derniers caractères) mais jamais la valeur
  complète du jeton. Si vous l'avez perdu, révoquez ce jeton et créez-en un nouveau.
</Accordion>

## Étapes suivantes

- [Déploiements privés](/cloud-services/deployments/private-deployments) :
  la fonctionnalité de contrôle d'accès sous-jacente que ces jetons contournent.
- [Gestion des accès aux applications Replit](/teams/identity-and-access-management/repl-access-management) :
  gérez quels utilisateurs Replit peuvent se connecter à vos applications privées.