Anmelden mit ChatGPT ist OpenAIs OAuth 2.0 und OpenID Connect Login, das weltweit für ChatGPT-Nutzer verfügbar ist. Ihre App erhält eine stabile Konto-ID sowie den Namen, die E-Mail-Adresse und das Profilbild der Person. Seit dem DevDay am 29. September 2026 können Plus- und Pro-Nutzer teilnehmende Apps auch KI-Anfragen über ihren ChatGPT-Plan ausführen lassen, anstatt Ihren API-Schlüssel zu verwenden, und zwar unter einer wöchentlichen Obergrenze, die sie pro App festlegen. Ihre App erhält niemals deren Konversationen, Erinnerungen oder einen API-Schlüssel.
Der zweite Teil betrifft Ihre Rechnung. Dieser Leitfaden behandelt den Ablauf, wie die Plannutzung für den Benutzer aussieht, wer heute integrieren kann, wann der Plan eines Benutzers Ihren Schlüssel ersetzen sollte und wie Sie die Anmeldung und ihre Fehlerpfade in Apidog testen können. Für den Rest des Events, siehe die DevDay 2026 Zusammenfassung; wenn die Unterscheidung zwischen Identität und Autorisierung unklar ist, lesen Sie zuerst OAuth vs OpenID.
Anmelden mit ChatGPT auf einen Blick
| Element | Was OpenAI dokumentiert |
|---|---|
| Identitäts-Scopes | openid profile email |
| Scopes für Plannutzung (Open-Source-Flow) | offline_access resource.invoke chatgpt.tokens.use.direct, mit resource=https://api.openai.com/v1 |
| Ihre App erhält | Ein ID-Token; bei Plannutzung, ein Zugriffs-Token und ein Refresh-Token |
| Berechtigung zur Plannutzung | Plus und Pro, in teilnehmenden Apps |
| Wo die Nutzung zählt | Die ChatGPT Work und Codex Nutzung des Plans |
| Kontrolle pro App | Wöchentliche Obergrenze als Anteil der gesamten wöchentlichen Nutzung; Guthaben nach der Obergrenze sind standardmäßig deaktiviert |
| Tokens für Plannutzung | Zugriffs-Token 1 Stunde; Refresh-Token 30 Tage, wird bei jeder Aktualisierung ersetzt |
| Entwicklerzugang | Kommerzielle Apps: begrenzter Test über ein Interessensformular. Open-Source-Apps: Self-Service |
Quellen: die Dokumentation zu Anmelden mit ChatGPT, die Token-Referenz und OpenAIs Hilfeartikel zum Verwenden Ihres ChatGPT-Plans in anderen Apps.
Was Ihre App erhält und was nicht
Identität ist der Standard. Ein Client, der openid profile email anfordert, erhält ein ID-Token. Gemäß dem Website-Leitfaden deckt profile verfügbare Claims wie Name und Profilbild ab, und email deckt E-Mail- und E-Mail-Verifizierungs-Claims ab. Identitäts-Scopes gewähren keinen Zugriff auf ChatGPT-Konversationen oder OpenAI API-Ressourcen.
Identifizieren Sie das Konto anhand des verifizierten sub plus Issuer und Client-ID, nicht anhand der E-Mail-Adresse. OpenAI warnt davor, dass eine E-Mail-Übereinstimmung allein kein Eigentumsnachweis ist, daher bitten Sie bestehende Nutzer, eine Verknüpfung zu bestätigen.
Die Plannutzung ist eine separate Berechtigung. Wenn der Benutzer die zusätzlichen Scopes genehmigt, fügt die Token-Antwort ein Zugriffs-Token für berechtigte Responses API-Anfragen hinzu. Clients, die nur die Identität benötigen, sollten überhaupt kein access_token anfordern: das id_token ist das einzig erforderliche Artefakt.
Wie der OAuth-Flow funktioniert
Der Website-Flow ist der Standard-Authorization Code Grant mit PKCE plus OIDC. Endpunkte werden von https://auth.openai.com/.well-known/openid-configuration geladen. Die Dokumentation listet diese Produktionswerte auf:
Issuer: https://auth.openai.com
Authorization endpoint: https://auth.openai.com/api/accounts/authorize
Token endpoint: https://auth.openai.com/api/accounts/oauth/token
JWKS URI: https://auth.openai.com/.well-known/jwks.json
- Ihr Backend generiert einen neuen
state, einen PKCE-Verifier mit einer S256-Challenge und einenonce. - Es leitet den Browser zum Autorisierungsendpunkt mit Ihrer Client-ID, der genauen Redirect-URI und den Scopes um.
- Der Benutzer stimmt zu, und OpenAI gibt einen Code an Ihren Callback zurück.
- Ihr Backend überprüft den
state, tauscht den Code aus und verifiziert die Signatur, den Issuer, die Zielgruppe, das Ablaufdatum und die Nonce des ID-Tokens. - Es findet, erstellt oder verknüpft das lokale Konto und erstellt eine eigene Sitzung.
Öffentliche Clients senden kein Geheimnis. Ein vertraulicher Client, der client_secret_basic verwendet, sendet sein Geheimnis nur im HTTP Basic Header.
Open-Source-Tools registrieren sich anders. Der Open-Source-Anmeldeleitfaden beginnt mit client_id=dynamic_agent_client, einem auf den Namen Ihrer App gesetzten agent_name_hint und einer persistenten ext_agent_host_id pro Host. Der Callback gibt eine ausgestellte Client-ID (wie oaiapp_...) zurück, die gespeichert und wiederverwendet werden kann; die Umleitung ist eine 127.0.0.1 Loopback-URI, und es ist kein Client-Geheimnis beteiligt.
Wie die Plannutzung für den Benutzer funktioniert
Was Ihre Benutzer sehen und was Ihre Support-Dokumente erklären sollten:
- Berechtigte Anfragen werden dem Plan angerechnet. Sie nutzen die ChatGPT Work- und Codex-Nutzung im Plus- oder Pro-Plan des Benutzers.
- Jede App erhält eine wöchentliche Obergrenze. Der Benutzer legt sie als Prozentsatz der gesamten wöchentlichen Nutzung fest (das Einstellungsbeispiel in der Dokumentation reicht von 10 % bis 100 %). Es ist eine Obergrenze, kein reservierter Pool, daher kann eine starke Nutzung an anderer Stelle den Plan zuerst erschöpfen.
- Guthaben sind Opt-in. Die Weiternutzung von Guthaben nach Erreichen der Limits ist standardmäßig deaktiviert und erfordert, dass die Obergrenze der App bei 100 % liegt.
- Plus hat ein gemeinsames Fünf-Stunden-Limit. Gemäß der Seite zu Konten und Sitzungen gilt es für jede App, die den Plan nutzt. Es gilt nicht für Pro.
- Die Trennung stoppt die zukünftige Nutzung. Sie macht die bereits verbrauchte Nutzung nicht rückgängig, und OpenAI benachrichtigt Ihre App nicht; Sie erfahren davon, wenn eine Anfrage oder Aktualisierung fehlschlägt.
Benutzer verwalten all dies unter ChatGPT-Einstellungen, Nutzung (chatgpt.com/settings/usage), und OpenAIs UI-Richtlinien bitten Sie, dorthin mit Nutzung verwalten zu verlinken.
Wer ist beim Start dabei und wie Sie eine Client-ID erhalten
OpenAIs DevDay-Rückblick nennt 16 Plannutzungs-Partner, darunter Cognitions Devin, Notion, Vercel, T3, OpenClaw und Dactyl. The New Stack listet Amp, Warp, Kilo Code und OpenCode unter den anderen auf, wobei Lovable als bald verfügbar gekennzeichnet ist. Wenn Sie OpenClaw betreiben, steht es auf beiden Listen.
Sam Altmans Bühnenpräsentation, wie The New Stack berichtete: „jetzt müssen Sie ihre Token-Kosten nicht mehr decken, um sie in Gang zu bringen.“
Wie Sie teilnehmen, hängt davon ab, was Sie anbieten:
- Kommerzielle oder gehostete Apps: Die Anmeldung ist ein begrenzter Test. Sie fordern eine Client-ID an, indem Sie sich über OpenAIs Interessensformular auf die Warteliste setzen lassen, egal ob Sie nur Identität oder auch Plannutzung wünschen (die URLs der Dokumentation nennen die Plannutzung „Token-Sharing“).
- Open-Source- und lokal gehostete Tools: Die Plannutzung steht allen Open-Source-Partnern über den oben genannten Self-Service-Flow offen.
Was sich für Ihre API-Rechnung ändert
Heute zahlen Sie pro Token und holen dies über die Preisgestaltung wieder herein. Die Plannutzung verlagert die Modellkosten auf das Abonnement des Benutzers, sodass Ihre Marge nicht mehr davon abhängt, wie intensiv diese KI nutzen. Der Kompromiss ist die Kontrolle.
| Ihr API-Schlüssel | Der ChatGPT-Plan des Benutzers | |
|---|---|---|
| Wer zahlt | Sie, pro Token | Der Plan des Benutzers (Guthaben nur, wenn sie sich anmelden) |
| Wer es nutzen kann | Jeder Benutzer | Plus- und Pro-Benutzer, die chatgpt.tokens.use.direct gewähren |
| Limits | Ihre Ratenbegrenzungsebene | Wöchentliche Plannutzung, die Obergrenze pro App, das Fünf-Stunden-Fenster von Plus |
| Anforderungsform | Die vollständige Responses API | store: false und stream: true erforderlich; kein temperature, max_output_tokens, Dateisuche oder Code Interpreter |
| Typischer Fehler | 429, wenn Sie Ihr Limit überschreiten | 429 subscription_sharing_usage_limit_exceeded oder dieser Code in einem response.failed-Ereignis während des Streams |
| Fallback | Von Ihnen zu gestalten | Keine automatische: OpenAI wechselt die Abrechnung nicht |
| Was angezeigt werden soll | Ihre eigene Nutzung und Preisgestaltung | „ChatGPT-Plan wird verwendet“, ein Link zur Nutzungsverwaltung, welche Ihrer Pläne dies unterstützen |
Die Einschränkungen stammen von der Seite mit den Vorschau-Einschränkungen: Funktionen, die einen gespeicherten Konversationsstatus oder gehostete Tools benötigen, werden heute nicht auf dem Plan eines Benutzers ausgeführt.
Ein sinnvoller Standard ist ein Hybrid: Plannutzung für interaktive Arbeit durch Plus- und Pro-Benutzer, Ihr Schlüssel für alle anderen und für Hintergrundaufgaben, CI und geplante Agenten. Wenn die Obergrenze erreicht ist, zeigen Sie „Nutzung verwalten“ an und bieten Sie Ihre eigenen Guthaben als sekundäre Option an. Der Vergleich von API-Schlüssel und OAuth behandelt den allgemeinen Kompromiss, und OAuth für KI-Agenten behandelt das sichere Handeln im Namen eines Benutzers.
Wie Sie den Anmelde-Flow und Fehlerpfade in Apidog testen
Apidog meldet niemanden bei ChatGPT an. Es übt Ihre OAuth-Einrichtung, Token-Aufrufe und Fehlerbehandlung. Laden Sie Apidog herunter und erstellen Sie eine Umgebung.
1. Speichern Sie den Client als Variablen. Fügen Sie SIWC_CLIENT_ID, SIWC_REDIRECT_URI und für einen vertraulichen Client SIWC_CLIENT_SECRET als sensiblen Wert hinzu, sowie ACCESS_TOKEN für die Plannutzung. Referenzieren Sie diese als {{SIWC_CLIENT_ID}}, damit kein Geheimnis in einer gespeicherten Anfrage verbleibt.
2. Führen Sie den Authorization Code Flow aus. Wählen Sie im Auth-Tab OAuth 2.0 mit Authorization Code mit PKCE, geben Sie die oben genannten Endpunkte ein, setzen Sie den Scope auf openid profile email und verwenden Sie eine für Ihren Client registrierte Callback-URL. Der Apidog OAuth 2.0 Leitfaden erklärt jedes Feld.
3. Überprüfen Sie das erhaltene ID-Token. Speichern Sie den Token-Austausch als eigene POST-Anfrage an den Token-Endpunkt (Code, Verifier, Redirect-URI, Client-ID) und fügen Sie einen Post-Prozessor hinzu. Signatur- und Nonce-Prüfungen gehören weiterhin in Ihr Backend.
const body = pm.response.json();
pm.test("token exchange returned an ID token", () => {
pm.expect(pm.response.code).to.eql(200);
pm.expect(body.id_token).to.be.a("string");
});
const decode = require("atob");
const part = body.id_token.split(".")[1].replace(/-/g, "+").replace(/_/g, "/");
const claims = JSON.parse(decode(part + "=".repeat((4 - (part.length % 4)) % 4)));
pm.test("ID token claims match this client", () => {
pm.expect(claims.iss).to.eql("https://auth.openai.com");
pm.expect(claims.aud).to.include(pm.environment.get("SIWC_CLIENT_ID"));
pm.expect(claims.sub).to.be.a("string").and.not.empty;
pm.expect(claims.exp * 1000).to.be.above(Date.now());
});
Protokollieren Sie name, email und picture, anstatt sie zu überprüfen, da sie zurückgegeben werden, wenn verfügbar. Für die Plannutzung überprüfen Sie, ob body.scope chatgpt.tokens.use.direct enthält.
4. Simulieren Sie die Fehlerpfade. Ein echtes Plus-Konto ist eine schlechte Testgrundlage, daher geben Sie diese von einem Apidog Mock-Server zurück:
- Plannutzung abgelehnt: eine Token-Antwort, deren
scopechatgpt.tokens.use.directfehlt. Ihre App sollte die Anmeldung beibehalten und anbieten, die Plannutzung zu aktivieren oder einen anderen Abrechnungsweg zu verwenden. - Obergrenze erreicht: 429 mit
error.codesubscription_sharing_usage_limit_exceeded, plus demselben Code in einemresponse.failedStream-Ereignis während des Streams. Vergewissern Sie sich, dass Ihre App Plananfragen pausiert. - Nicht berechtigt: 403
subscription_sharing_user_not_eligible. Nicht erneut versuchen oder OAuth durchlaufen. - Verbindung getrennt: eine Aktualisierung, die
invalid_grantzurückgibt, oder 401subscription_sharing_invalid_user. Tokens löschen und erneut zur Anmeldung auffordern.
Verketten Sie die Fälle zu einem Testszenario und führen Sie es in CI mit der Apidog CLI aus. Die Fehler- und Wiederherstellungsseite listet den vollständigen Satz auf.
5. Überprüfen Sie den Live-Aufruf. Senden Sie mit einem echten Plan-Token die Streaming-Anfrage der Dokumentation (in Apidog, als Bearer {{ACCESS_TOKEN}}) und bestätigen Sie, dass der Stream mit response.completed endet, dem einzigen Erfolgssignal:
curl --no-buffer https://api.openai.com/v1/responses \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-6.1-sol",
"input": [{"role": "user", "content": "Say exactly: Hello, world!"}],
"store": false,
"stream": true
}'
Häufig gestellte Fragen
Können kostenlose Benutzer sich mit ChatGPT anmelden? Die Anmeldung ist weltweit für ChatGPT-Benutzer verfügbar. Die Nutzung des Plans innerhalb einer anderen App erfordert Plus oder Pro.
Erhält meine App den OpenAI API-Schlüssel des Benutzers? Nein. Sie erhalten ein ID-Token und, bei Plannutzung, ein OAuth-Zugriffs-Token für berechtigte Responses API-Anfragen.
Was passiert, wenn ein Benutzer seine Obergrenze erreicht? Anfragen schlagen fehl mit subscription_sharing_usage_limit_exceeded: einem HTTP 429 oder einem response.failed-Ereignis, nachdem das Streaming begonnen hat. Pausieren Sie und verlinken Sie zu „Nutzung verwalten“.
Kann ein Plus-Benutzer GPT-6.1 Sol über eine Partner-App ausführen? Das Beispiel der Dokumentation verwendet gpt-6.1-sol mit einem Plan-Token, aber listen Sie die Modelle des Kontos mit diesem Token auf, bevor Sie eines anbieten. Mehr unter ist GPT-6.1 Sol kostenlos.
Nächster Schritt
Wenn Sie eine kommerzielle App betreiben, treten Sie jetzt der Warteliste bei und entwickeln Sie Ihre Obergrenzen- und Verbindungsabbruch-Behandlung gegen Mocks, während Sie warten. Betrachten Sie die Plannutzung als Option neben Ihrer eigenen API-Abrechnung, nicht als Ersatz. Speichern Sie die Token-Überprüfungen und das Fehler-Szenario in Apidog, damit am Tag, an dem Ihre Client-ID eintrifft, die einzige neue Variable das echte Token ist.
