> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flowstep.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Authentification MCP

> Comment Flowstep MCP authentifie les clients : flux OAuth 2.1 PKCE et création de compte.

Le point de terminaison `/mcp` nécessite un `access_token` Supabase passé comme jeton Bearer. La plupart des clients MCP l'obtiennent automatiquement via le flux OAuth 2.1 PKCE. Vous pouvez également fournir un jeton manuellement pour les tests.

## Flux OAuth 2.1 PKCE

Flowstep implémente un serveur d'autorisation OAuth 2.1 complet à `https://api.flowstep.ai`. Les clients MCP le découvrent et complètent le flux automatiquement : ils ouvrent une fenêtre de navigateur pour que vous vous connectiez, puis gèrent l'échange de jetons en arrière-plan.

### Méthodes de connexion prises en charge

La page d'autorisation à `/oauth/authorize` prend en charge :

* **Email/password** (E-mail/mot de passe) — tout compte Flowstep avec un mot de passe défini
* **Google SSO** — redirige via l'authentification sociale Supabase, retourne au client automatiquement

### Création de compte pour les utilisateurs du connecteur claude.ai

La page de connexion OAuth n'inclut pas de formulaire d'inscription. Si vous vous connectez via le connecteur personnalisé de claude.ai et que vous n'avez pas encore de compte Flowstep, créez-en un d'abord à [app.flowstep.ai](https://app.flowstep.ai), puis retournez à la configuration du connecteur pour vous authentifier.

## Secours par cookie

S'il n'y a pas d'en-tête `Authorization`, le middleware revient à une session Supabase basée sur les cookies. Cela fonctionne lors de l'accès à `/mcp` directement depuis un navigateur avec une session Flowstep active. Les clients MCP utilisent toujours le chemin Bearer.

## Jeton manuel (tests)

Pour appeler le point de terminaison directement sans flux OAuth du client :

1. Connectez-vous à [app.flowstep.ai](https://app.flowstep.ai) dans votre navigateur
2. Ouvrez DevTools → Console, exécutez :

```javascript theme={"system"}
const pairs = document.cookie.split("; ").map((c) => {
  const i = c.indexOf("=");
  return [c.slice(0, i), c.slice(i + 1)];
});
const authPairs = pairs
  .filter(([k]) => /^sb-.+-auth-token(\.\d+)?$/.test(k))
  .sort(([a], [b]) => a.localeCompare(b));
const raw = authPairs.map(([, v]) => decodeURIComponent(v)).join("");
const session = JSON.parse(
  raw.startsWith("base64-") ? atob(raw.slice(7)) : raw,
);
console.log(session.access_token);
```

3. Transmettez le jeton comme en-tête :

```bash theme={"system"}
curl -X POST https://api.flowstep.ai/mcp \
  -H "Authorization: Bearer <access_token>" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
```

<Warning>
  Les sessions MCP durent 30 jours — le serveur actualise le jeton sous-jacent de manière transparente, donc les clients utilisant le flux OAuth n'ont pas besoin de se réauthentifier pendant une utilisation normale. Un jeton extrait manuellement comme celui ci-dessus expire toujours après environ une heure ; c'est seulement pour les tests rapides.
</Warning>
