Se connecter avec ChatGPT
Le 2 août 2026, OpenAI a transformé ChatGPT en fournisseur d'identité. « Sign in with ChatGPT » est désormais en bêta publique, sur la même rangée de boutons que Sign in with Google, Apple et Microsoft — et redessine discrètement où va vivre une bonne partie de l'authentification B2B. Cette page s'adresse à deux lecteurs en même temps : l'utilisateur qui veut savoir ce qui franchit réellement la ligne s'il clique sur le bouton, et le développeur qui doit décider s'il l'ajoute à sa propre application (et si oui, comment, sans faire d'OpenAI une dépendance porteuse).
- Comprendre ce qu'une application partenaire reçoit quand un utilisateur se connecte avec ChatGPT — et ce qu'elle ne reçoit pas
- Connaître les six partenaires du lancement et la raison de leur choix (c'est un signal, pas une coïncidence)
- Parcourir le flux exact OAuth 2.1 + PKCE + OIDC que ChatGPT attend de votre serveur
- Voir les contrôles admin d'entreprise déjà livrés — et le paramètre par défaut qui surprend
- Connaître les modes d'échec à anticiper avant de mettre le bouton sur votre écran de connexion
La version en 60 secondes
- Ce qui a été lancé. Un système d'identité multiplateforme : les utilisateurs peuvent créer ou lier un compte sur des sites partenaires avec leurs identifiants ChatGPT, comme ils le feraient avec Google ou Apple. Annoncé le 2 août 2026 en bêta.
- Ce qui franchit la ligne à la connexion. Trois claims : nom, e-mail, photo de profil. Rien d'autre, et rien sur l'historique de conversation de l'utilisateur.
- Qui est sur scène en premier. Six partenaires de lancement côté outils développeur : Airtable, GitLab, HubSpot, Notion, Supabase, Vercel. Ce n'est pas une liste au hasard — c'est le groupe musculaire qui permet à une session ChatGPT de construire et déployer un logiciel de bout en bout.
- Ce que les développeurs doivent construire. Un flux OAuth 2.1 authorization-code standard avec PKCE (S256) et découverte OIDC — ChatGPT s'enregistre lui-même via Dynamic Client Registration sur votre
registration_endpointet appelle vosauthorization_endpoint/token_endpointcomme n'importe quel autre client. Si vous parlez déjà OIDC, vous êtes à 80 % du chemin. - Le paramètre par défaut d'entreprise qui piège. Les organisations qui n'ont pas défini de politique explicite sont activées par défaut ; les administrateurs peuvent soit désactiver Sign in with ChatGPT pour toute l'organisation, soit le restreindre à une liste d'applications partenaires autorisées.
Pourquoi c'est bien plus qu'« un bouton de connexion de plus »
Les boutons de connexion se ressemblent tous jusqu'à ce qu'on remarque qui devient le fournisseur d'identité. Google Sign-in a normalisé le schéma où un éditeur productivité possède aussi votre identité. Sign in with ChatGPT fait la même chose — mais depuis le côté assistant du flux, pas depuis le côté messagerie.
Deux conséquences en découlent, et il vaut la peine de les nommer :
- Le fournisseur d'identité est désormais l'endroit où vos utilisateurs ont déjà une session active avec un agent. Cet agent peut, au nom de l'utilisateur, invoquer des connecteurs Apps SDK sur des sites partenaires (Notion, Vercel, Supabase, ...) avec un jeton que l'utilisateur vient d'approuver. Le bouton ne dit pas seulement « connecte-moi » ; il dit « laisse cet assistant tendre la main vers cet outil pour moi ».
- Les partenaires de lancement sont les outils dont un agent de codage autonome a besoin. Modèle + BD (Supabase) + backend (GitLab / Vercel) + docs (Notion) + tableur de référence (Airtable) + CRM (HubSpot). C'est la forme d'une session qui commence dans ChatGPT et se termine avec quelque chose de livré. C'est un aperçu de l'endroit où OpenAI s'attend à voir vivre les sessions Apps SDK.
Si vous construisez sur Claude et lisez ceci en pensant « ça ne me concerne pas » — si, indirectement. L'assistant que vos utilisateurs utilisent aussi va vouloir tendre la main vers les mêmes outils B2B que vous, avec la même couche de connexion. Comprendre ce schéma tôt, c'est décider si vous l'acceptez, le mirroir (Sign in with Claude n'est pas un produit public aujourd'hui), ou le contournez avec votre propre OIDC.
Ce qui franchit réellement la ligne
La frontière des claims à la connexion est délibérément étroite. Quand un utilisateur termine le flux, le partenaire reçoit :
| Claim | Inclus ? | Notes |
|---|---|---|
name | ✅ | Le nom d'affichage de l'utilisateur sur son compte ChatGPT |
email | ✅ | L'e-mail associé au compte ChatGPT |
picture | ✅ | URL de la photo de profil |
| Historique de conversation | ❌ | Jamais partagé avec le partenaire |
| Mémoires / instructions personnalisées | ❌ | Jamais partagé |
| Niveau d'abonnement (Free / Plus / Pro / Enterprise) | ❌ | Non exposé comme claim à la connexion |
| Infos de paiement | ❌ | Hors périmètre pour ce flux |
Le corollaire — la partie que les utilisateurs oublient — c'est ce qu'OpenAI apprend du côté partenaire : à quelles applications vous vous connectez, et quand. C'est la forme de toute identité fédérée : l'IdP voit vos connexions, le RP voit votre identité. C'est le même deal qu'avec Google ou Apple ; il se joue simplement avec une nouvelle contrepartie dont la raison d'être est différente.
- Sign in with ChatGPT est une fédération de connexion, pas un tunnel de partage de données. Le partenaire reçoit des claims d'identité, pas vos conversations — mais OpenAI voit avec quels partenaires vous vous connectez.
- Le paramètre par défaut d'entreprise est opt-in. Si vous gérez une organisation Enterprise ou Team et n'avez pas touché aux réglages, vos utilisateurs peuvent déjà l'utiliser sur les six applications partenaires aujourd'hui.
Les six partenaires du lancement — lisez-les comme une forme
La liste de lancement est l'histoire. Groupés par ce qu'ils permettent à une session d'accomplir :
- Données / tableurs — Airtable
- Docs / connaissance — Notion
- Base de code / SCM — GitLab
- Base de données / backend — Supabase
- Déploiement / hébergement — Vercel
- CRM / données GTM — HubSpot
Ce ne sont pas « six adopteurs précoces au hasard ». C'est la pile opérationnelle d'une session de construction pilotée par ChatGPT : tirer un lead de HubSpot, retrouver l'enregistrement dans Airtable, écrire le changement dans Notion, livrer le code via GitLab, migrer la BD dans Supabase, déployer via Vercel. Chacune de ces étapes est un endroit où les connecteurs Apps SDK d'OpenAI veulent déjà être.
Si votre produit est adjacent à l'un d'eux — outil de suivi de tickets, CRM, low-code, base vectorielle, analytics — supposez que le support de Sign in with ChatGPT devient une question incontournable de vos acheteurs entreprise au cours des deux prochains trimestres.
Ce qu'un développeur doit construire
La bonne nouvelle : c'est du OAuth 2.1 + OIDC pur. Si vous avez déjà un serveur d'autorisation qui parle la découverte OIDC et Dynamic Client Registration, vous configurez surtout, vous ne codez pas. Voici la forme attendue par ChatGPT.
Les endpoints que ChatGPT appelle
- Vous exposez /.well-known/openid-configuration (et, si c'est un serveur de ressources MCP, /.well-known/oauth-protected-resource pointant vers lui). ChatGPT le lit pour trouver vos authorization_endpoint, token_endpoint, registration_endpoint et jwks_uri.
- ChatGPT envoie un POST à votre registration_endpoint pour s'enregistrer comme client public. Vous stockez le client_id retourné. Aucun secret partagé n'est émis — PKCE est le mécanisme anti-rejeu.
- ChatGPT redirige l'utilisateur vers votre authorization_endpoint avec response_type=code, code_challenge, code_challenge_method=S256, les scopes demandés, et le paramètre resource identifiant votre API.
- Votre écran de consentement montre à l'utilisateur ce que ChatGPT demande. Affichez les scopes demandés tels quels ; ne les cachez pas derrière un résumé aimable. C'est la seule chance pour l'utilisateur de les voir.
- ChatGPT envoie le code et le code_verifier à votre token_endpoint. Vous émettez un jeton d'accès dont le aud correspond au paramètre resource, et (si vous supportez les scopes OIDC) un id_token.
- À expiration, ChatGPT rejoue le flux. Si vous avez émis un id_token, ChatGPT le repasse via id_token_hint pour que l'utilisateur ne soit pas invité à se reconnecter — il ne voit que le consentement incrémental.
Les exigences non évidentes
La plupart des équipes qui se plantent perdent une journée sur l'une de celles-ci :
- PKCE est obligatoire et doit être
S256. Annoncez"code_challenge_methods_supported": ["S256"]dans votre document de découverte.plainn'est pas accepté. - Vous devez lier le jeton d'accès à la ressource. Utilisez le paramètre
resourceet copiez sa valeur dans le claimauddu jeton. Sinon, une attaque de confusion d'audience est votre vulnérabilité principale. - Client public, pas de secret. ChatGPT utilise
token_endpoint_auth_method: none(ou, si vous préférez,private_key_jwtcontre le JWKS publié de ChatGPT). N'exigez pas declient_secretdans l'échange de jeton, sinon le flux échoue. - Rotation à chaque refresh. Traitez les refresh tokens comme à usage unique, tournés à chaque échange. C'est la recommandation OAuth 2.1 standard, et c'est la différence entre un refresh token volé qui est ennuyeux et un qui est catastrophique.
- Gérer la révocation centrale. Un administrateur d'entreprise peut révoquer Sign in with ChatGPT pour toute l'organisation à tout moment. Votre application doit se dégrader gracieusement — un 401 au refresh du jeton n'est pas un bug à alerter ; c'est un signal pour inviter l'utilisateur à relier son compte ou basculer sur votre connexion native.
Le document de découverte minimal
Juste assez pour que ChatGPT vous parle (remplissez votre issuer et vos chemins) :
Minimum /.well-known/openid-configuration pour Sign in with ChatGPT
{
"issuer": "https://auth.example.com",
"authorization_endpoint": "https://auth.example.com/oauth/authorize",
"token_endpoint": "https://auth.example.com/oauth/token",
"registration_endpoint": "https://auth.example.com/oauth/register",
"jwks_uri": "https://auth.example.com/.well-known/jwks.json",
"response_types_supported": ["code"],
"grant_types_supported": ["authorization_code", "refresh_token"],
"code_challenge_methods_supported": ["S256"],
"token_endpoint_auth_methods_supported": ["none", "private_key_jwt"],
"subject_types_supported": ["public"],
"id_token_signing_alg_values_supported": ["RS256"],
"scopes_supported": ["openid", "email", "profile"]
}Le scope que vous voulez probablement
Si vous construisez une application partenaire et voulez accepter Sign in with ChatGPT purement comme signal d'identité — pas d'accès data-plane au compte ChatGPT de l'utilisateur — demandez uniquement les scopes OIDC :
Requête d'autorisation identité seule (pas d'accès data-plane)
GET /oauth/authorize?
response_type=code
&client_id={registered_client_id}
&redirect_uri=https://chatgpt.com/connector/oauth/{callback_id}
&scope=openid+email+profile
&code_challenge={base64url(sha256(verifier))}
&code_challenge_method=S256
&state={csrf_nonce}
&resource=https://api.example.comLa forme de la redirect URI (https://chatgpt.com/connector/oauth/{callback_id}) est importante — c'est celle par laquelle ChatGPT lui-même route, pas une que vous configurez de votre côté.
Contrôles d'entreprise (et le défaut qui va vous mordre)
Pour les organisations sur des plans Team / Enterprise, les administrateurs disposent aujourd'hui de deux contrôles :
- Désactiver Sign in with ChatGPT pour toute l'organisation. Coupe le bouton pour tous les membres.
- Restreindre à une liste approuvée d'applications partenaires. Les utilisateurs ne peuvent compléter le flux qu'avec les partenaires de votre liste blanche.
La nuance : les organisations sans politique explicite sont activées par défaut — pour les six partenaires de lancement, tous vos utilisateurs peuvent utiliser le bouton dès maintenant. Si votre posture de sécurité ne permet pas l'identité fédérée vers des tiers arbitraires, vous devez changer le paramètre par défaut explicitement. C'est la seule phrase qui affecte le plus les déploiements d'entreprise réels ce mois-ci.
Comparaison avec Google / Apple / Microsoft sign-in
| Dimension | Sign in with ChatGPT | Apple | Microsoft | |
|---|---|---|---|---|
| Claims d'identité à la connexion | nom, e-mail, photo | Large (nom, e-mail, photo, plus scopes optionnels pour données) | Nom, option e-mail relais privé | Nom, e-mail, info tenant |
| Accès data-plane via la même auth | Oui — les connecteurs Apps SDK peuvent obtenir leurs propres scopes dans la même session | Oui — API Google via OAuth scopé | Limité (Sign in with Apple est principalement identité) | Oui — Graph API via OAuth scopé |
| Option e-mail anonymisé | Non (aujourd'hui) | Non | Oui — e-mails relais privés | Non |
| Contrôles admin d'entreprise | Désactivation org + liste blanche partenaires | Console admin Workspace complète | Géré par MDM | Console Entra ID complète |
| Client public + PKCE requis | Oui, S256 obligatoire | Optionnel (recommandé) | Oui | Oui |
| Session multi-app avec un agent | Oui — c'est le point | Non | Non | Non (Copilot est une autre histoire) |
Deux lignes à noter : pas d'e-mail relais privé (contrairement à Apple, les utilisateurs ne peuvent pas cacher leur vraie adresse), et session multi-app avec un agent (la ligne qui explique pourquoi ça existe en premier lieu).
Quand l'ajouter — et quand le contourner
- Ajoutez-le si vos acheteurs sont pro-IA et que votre produit est dans les six catégories adjacentes aux partenaires (outils dev, données, docs, CRM, déploiement). Le bouton est un signal, peu cher à ajouter si vous shippez déjà OIDC.
- Ajoutez-le si vous voulez que votre application soit accessible depuis une session ChatGPT comme connecteur Apps SDK. Sign in with ChatGPT est la porte d'entrée naturelle pour ça.
- Contournez-le si vos utilisateurs sont régulés (santé, finance, gouvernement) et qu'OpenAI n'est pas sur la liste des sous-traitants approuvés — l'identité fédérée implique une confiance sur le traitement des données.
- Contournez-le si la différenciation de votre produit est d'être neutre en IA. Ajouter le bouton d'un assistant et pas des autres est une prise de position, que vous l'ayez voulu ou non.
Le schéma pragmatique sur lequel la plupart des équipes atterrissent : le shipper aux côtés de Google, Apple et Microsoft (pas à la place d'un autre), limité aux claims d'identité, avec le toggle admin entreprise câblé sur vos contrôles SSO existants.
Modes d'échec à anticiper
Avant de mettre le bouton en prod, câblez les quatre chemins d'échec :
- Un administrateur d'entreprise désactive Sign in with ChatGPT alors que l'utilisateur a une session vivante. Votre prochain refresh de jeton renvoie 401. Ne déconnectez pas l'utilisateur silencieusement — affichez un prompt clair 'reliez votre compte' avec un repli vers la connexion native.
- L'utilisateur a toujours une session valide dans votre application mais son e-mail lié à ChatGPT est maintenant dormant. Laissez-le attacher un mot de passe / passkey au compte existant plutôt que de l'orpheliner.
- L'admin retire votre app de la liste blanche. Même traitement que la révocation centrale. Fournissez un endpoint côté support qui journalise la raison pour que les admins puissent auditer.
- Votre écran de connexion ne doit pas se bloquer sur la découverte OIDC de ChatGPT. Cachez le document de découverte avec un TTL raisonnable et échouez rapidement s'il est périmé — n'accrochez jamais la page de connexion sur un IdP tiers.
Vérification rapide
Check yourself
0/4Sur AILmanac
- ChatGPT pour les utilisateurs de Claude — la carte mentale si vous passez de Claude
- MCP 2026-07-28 : la spec sans état — le changement jumeau côté Anthropic de l'écosystème
- MCP Apps (SEP-1865) — la première extension MCP officielle pour les UI interactives, la contrepartie de l'Apps SDK d'OpenAI
- Choisir un modèle — cadre de décision multi-fournisseurs
Sources et lectures complémentaires
- OpenAI — Introducing Sign in with ChatGPT
- OpenAI Developers — Apps SDK: Authentication
- OpenAI — ChatGPT release notes
- OpenAI — GPT Action authentication
- Stytch — Guide to authentication and user consent in the OpenAI Apps SDK
- IETF — OAuth 2.1 draft
- OpenID Foundation — OpenID Connect Core 1.0