Accès interne
Une appli que seules les personnes de votre organisation ouvrent, avec leur compte habituel. Votre appli reçoit leur identité, sans page de connexion à coder.
Mis à jour le 9 novembre 2026.
Vous, à votre agent : Réserve l’appli aux personnes de l’entreprise.
Ce que votre agent écrit
Votre agent l’écrit dans while.yaml, à la racine de votre appli :
services:
- name: web
port: 3000
access: internal
groups: [compta, direction]
email_domains: [exemple.fr]
Quand vous en servir
Servez-vous-en pour une appli destinée aux personnes de l’organisation : elles entrent avec leur compte, et rien n’est ouvert à Internet.
Comment ça marche
Un service access: internal ne s’ouvre qu’après connexion, par un compte while ou par la connexion d’entreprise de l’organisation. L’appli reçoit l’identité de la personne, sans authentification à coder.
Les personnes qui n’utilisent que vos applis internes n’ont pas à devenir membres : ne les invitez pas, et ne leur donnez aucun rôle. La connexion d’entreprise et access: internal, avec email_domains ou groupes, suffisent (sans connexion d’entreprise, emails: pour une adresse qu’un SSO a vérifiée), et elles retrouvent leurs applis sur « Vos applis ».
Ce qu’il faut savoir
La connexion d’entreprise passe par OpenID Connect (Keycloak, Google Workspace, Microsoft Entra), avec les offres Pro et Entreprise. Sans liste, les membres de l’organisation entrent. Une liste donne l’accès à des groupes, des adresses ou des domaines d’adresse, et members: true y ajoute les membres.
L’appli reçoit X-While-Identity, un JWT ES256 signé par while (clé publique sur l’adresse de l’appli, /__while/jwks.json), qui est la preuve. Pour décider, elle en vérifie la signature, l’émetteur, l’échéance et les champs while_projet, while_service et while_environnement, qu’elle compare à ses WHILE_PROJECT, WHILE_SERVICE et WHILE_ENVIRONMENT. X-While-Email, X-While-Name et X-While-Groups servent à l’affichage seulement.
L’agent d’une personne ouvre l’appli comme elle, pour une heure : open_internal_app (POST /v1/projects/:slug/app-access) lui donne un identifiant à poser dans l’en-tête Cookie (__Host-while-agent), jamais dans l’adresse. read_only le borne à la lecture, et l’appli le sait (while_agent dans X-While-Identity).
Passer de public à interne est immédiat. Changer qui entre attend toujours une validation, et rendre l’appli publique aussi, par défaut, sauf si une règle de l’organisation l’assouplit. Seul le chemin de santé répond à une sonde signée de while, et un retour arrière ne change pas l’accès en vigueur.
Les outils MCP de votre agent
Votre agent s’en occupe avec les outils plan_deploy, get_app_status et list_tokens.