ChatGPT ile Oturum Aç, OpenAI'nin OAuth 2.0 ve OpenID Connect oturum açma hizmetidir ve dünya genelindeki ChatGPT kullanıcıları tarafından kullanılabilir. Uygulamanız, kararlı bir hesap kimliği ile birlikte kişinin adını, e-posta adresini ve profil resmini alır. 29 Eylül 2026'daki DevDay'den bu yana, Plus ve Pro kullanıcıları ayrıca katılımcı uygulamaların, belirledikleri haftalık uygulama başına limit altında, API anahtarınız yerine kendi ChatGPT planları üzerinden yapay zeka istekleri çalıştırmasına izin verebilir. Uygulamanız asla onların konuşmalarını, anılarını veya bir API anahtarını almaz.
İkinci kısım faturanızı ilgilendiriyor. Bu kılavuz; işleyişi, plan kullanımının kullanıcıya nasıl göründüğünü, kimlerin bugün entegrasyon yapabileceğini, bir kullanıcının planının anahtarınızın yerini ne zaman alması gerektiğini ve Apidog'da oturum açma ile hata yollarını nasıl test edeceğinizi kapsar. Etkinliğin geri kalanı için DevDay 2026 özetine bakın; kimliklendirme ile yetkilendirme arasındaki fark belirsizse, önce OAuth vs OpenID makalesini okuyun.
ChatGPT ile Oturum Açmaya Genel Bakış
| Öğe | OpenAI'nin Belgeledikleri |
|---|---|
| Kimlik Kapsamları (Identity scopes) | openid profile email |
| Plan kullanım kapsamları (açık kaynak akışı) | offline_access resource.invoke chatgpt.tokens.use.direct, resource=https://api.openai.com/v1 ile birlikte |
| Uygulamanızın Aldıkları | Bir ID belirteci; plan kullanımıyla birlikte bir erişim belirteci (access token) ve bir yenileme belirteci (refresh token) |
| Plan Kullanım Uygunluğu | Katılımcı uygulamalarda Plus ve Pro |
| Kullanımın Sayıldığı Yer | Planın ChatGPT Work ve Codex kullanımı |
| Uygulama Başına Kontrol | Genel haftalık kullanımın bir yüzdesi olarak haftalık limit; limit sonrası krediler varsayılan olarak kapalıdır |
| Plan Kullanım Belirteçleri | Erişim belirteci 1 saat; yenileme belirteci 30 gün, her yenilemede değiştirilir |
| Geliştirici Erişimi | Ticari uygulamalar: ilgi formu aracılığıyla sınırlı deneme. Açık kaynak uygulamalar: kendi kendine hizmet (self-serve) |
Kaynaklar: ChatGPT ile Oturum Açma belgeleri, belirteç referansı ve OpenAI'nin ChatGPT planınızı diğer uygulamalarda kullanma hakkındaki yardım makalesi.
Uygulamanızın Aldıkları ve Almadıkları
Kimliklendirme varsayılandır. openid profile email isteyen bir istemci bir ID belirteci (ID token) alır. Web sitesi kılavuzuna göre, profile adı ve profil resmi gibi mevcut iddiaları (claims), email ise e-posta ve e-posta doğrulama iddialarını kapsar. Kimlik kapsamları, ChatGPT konuşmalarına veya OpenAI API kaynaklarına erişim sağlamaz.
Hesabı, e-posta yerine doğrulanmış sub ile birlikte sağlayıcı (issuer) ve istemci kimliğine göre anahtarlayın. OpenAI, yalnızca bir e-posta eşleşmesinin sahiplik kanıtı olmadığını belirtiyor, bu nedenle mevcut kullanıcılardan bir bağlantıyı onaylamalarını isteyin.
Plan kullanımı ayrı bir izindir. Kullanıcı ek kapsamları onaylarsa, belirteç yanıtı uygun Yanıtlar API istekleri için bir erişim belirteci ekler. Yalnızca kimlik doğrulayan istemciler `access_token` gerektirmemelidir: `id_token` tek gerekli yapıdır.
OAuth Akışı Nasıl Çalışır?
Web sitesi akışı, PKCE'li standart Yetkilendirme Kodu izni (Authorization Code grant) ve OIDC'dir. Uç noktaları https://auth.openai.com/.well-known/openid-configuration adresinden yükleyin. Belgeler şu üretim değerlerini listeler:
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
- Arka ucunuz yeni bir
state, bir S256 sınaması (challenge) ile bir PKCE doğrulayıcı ve birnonceoluşturur. - Tarayıcıyı istemci kimliğiniz, tam yönlendirme URI'niz ve kapsamlarınızla yetkilendirme uç noktasına yönlendirir.
- Kullanıcı onay verir ve OpenAI geri çağrı (callback) adresinize bir kod döndürür.
- Arka ucunuz
statedeğerini kontrol eder, kodu takas eder ve ID belirtecinin imzasını, sağlayıcısını (issuer), hedef kitlesini (audience), son kullanma tarihini venoncedeğerini doğrular. - Yerel hesabı bulur, oluşturur veya bağlar ve kendi oturumunu başlatır.
Genel istemciler gizli anahtar göndermez. client_secret_basic kullanan gizli bir istemci, gizli anahtarını yalnızca HTTP Basic başlığında gönderir.
Açık kaynak araçlar farklı şekilde kayıt olur. Açık kaynak oturum açma kılavuzu client_id=dynamic_agent_client ile başlar, uygulamanızın adına ayarlanmış bir agent_name_hint ve ana bilgisayar başına kalıcı bir ext_agent_host_id içerir. Geri çağrı (callback) kaydedilip tekrar kullanılmak üzere bir çıkarılmış istemci kimliği (oaiapp_... gibi) döndürür; yönlendirme bir 127.0.0.1 geri döngü (loopback) URI'sidir ve herhangi bir istemci gizli anahtarı (client secret) içermez.
Plan Kullanımı Kullanıcı İçin Nasıl Çalışır?
Kullanıcılarınızın gördükleri ve destek belgelerinizin açıklaması gerekenler:
- Uygun istekler plana dahil edilir. Bunlar, kullanıcının Plus veya Pro planındaki ChatGPT Work ve Codex kullanımını kullanır.
- Her uygulama haftalık bir limite sahiptir. Kullanıcı bunu genel haftalık kullanımın bir yüzdesi olarak belirler (belgelerin ayar örneği %10'dan %100'e kadar çalışır). Bu bir tavan olup, ayrılmış bir havuz değildir, bu nedenle başka yerlerdeki yoğun kullanım planı önce tüketebilir.
- Krediler isteğe bağlıdır (opt-in). Limitler sonrası kredilerle devam etmek varsayılan olarak kapalıdır ve uygulamanın limitinin %100 olmasını gerektirir.
- Plus, beş saatlik paylaşımlı bir limite sahiptir. Hesaplar ve oturumlar sayfasına göre, bu limit planı kullanan her uygulamayı kapsar. Pro için geçerli değildir.
- Bağlantıyı kesmek gelecekteki kullanımı durdurur. Halihazırda tüketilen kullanımı geri almaz ve OpenAI uygulamanızı bilgilendirmez; bir istek veya yenileme başarısız olduğunda bunu öğrenirsiniz.
Kullanıcılar tüm bunları ChatGPT Ayarları, Kullanım (chatgpt.com/settings/usage) altında yönetir ve OpenAI'nin UI yönergeleri, Kullanımı Yönet ile oraya bağlantı vermenizi ister.
Lansmanda Kimler Var ve Bir İstemci Kimliği Nasıl Alınır?
OpenAI'nin DevDay özeti; Cognition'dan Devin, Notion, Vercel, T3, OpenClaw ve Dactyl dahil olmak üzere 16 plan kullanım ortağının adını verir. The New Stack, diğerleri arasında Amp, Warp, Kilo Code ve OpenCode'u listelerken, Lovable yakında gelecek olarak işaretlenmiştir. OpenClaw kullanıyorsanız, her iki listede de yer almaktadır.
The New Stack'in bildirdiğine göre, Sam Altman'ın sahnede yaptığı konuşma: "artık onların işlem ücretlerini (token maliyetlerini) karşılamak zorunda değilsiniz."
Nasıl dahil olacağınız, neyi gönderdiğinize bağlıdır:
- Ticari veya barındırılan uygulamalar: oturum açma sınırlı bir denemedir. Yalnızca kimlik doğrulama veya plan kullanımını da isteseniz (belgelerin URL'leri plan kullanımını "token paylaşımı" olarak adlandırır) OpenAI'nin ilgi formu aracılığıyla bekleme listesine katılarak bir istemci kimliği talep edersiniz.
- Açık kaynak ve yerel olarak barındırılan araçlar: plan kullanımı, yukarıdaki kendi kendine hizmet (self-serve) akışı aracılığıyla tüm açık kaynak ortaklarına açıktır.
API Faturanızda Neler Değişir?
Bugün jeton başına ödeme yapar ve fiyatlandırma yoluyla bunu geri alırsınız. Plan kullanımı, model maliyetini kullanıcının aboneliğine taşır, bu nedenle kar marjınızın yapay zekayı ne kadar yoğun kullandıklarına bağlılığı sona erer. Dezavantajı ise kontroldür.
| Sizin API anahtarınız | Kullanıcının ChatGPT planı | |
|---|---|---|
| Kim öder | Siz, jeton başına | Kullanıcının planı (yalnızca kullanıcı katılırsa krediler) |
| Kimler kullanabilir | Her kullanıcı | chatgpt.tokens.use.direct izni veren Plus ve Pro kullanıcıları |
| Limitler | Sizin oran sınırlaması katmanınız | Haftalık plan kullanımı, uygulama başına limit, Plus'ın beş saatlik penceresi |
| İstek biçimi | Tam Yanıtlar API'si | store: false ve stream: true gerekli; temperature, max_output_tokens, dosya araması veya Kod Yorumlayıcı yok |
| Tipik hata | Katmanınızı aştığınızda 429 | 429 subscription_sharing_usage_limit_exceeded veya bir akış ortasında response.failed içinde bu kod |
| Geri dönüş | Tasarımı size ait | Otomatik değil: OpenAI faturalandırmayı değiştirmez |
| Ne gösterilmeli | Kendi kullanımınız ve fiyatlandırmanız | "ChatGPT planı kullanılıyor", bir Kullanımı Yönet bağlantısı, planlarınızdan hangisinin bunu desteklediği |
Kısıtlamalar önizleme sınırlamaları sayfasından gelmektedir: depolanmış konuşma durumu veya barındırılan araçlar gerektiren özellikler bugün bir kullanıcının planında çalışmayacaktır.
Mantıklı bir varsayılan hibrit yaklaşımdır: Plus ve Pro kullanıcılarının etkileşimli çalışmaları için plan kullanımı, diğer herkes için ve arka plan işleri, CI ve zamanlanmış aracılar için sizin anahtarınız. Limit aşıldığında, Kullanımı Yönet'i gösterin ve ikincil bir seçenek olarak kendi kredilerinizi sunun. API anahtarı ile OAuth karşılaştırması genel ödünleşimi kapsarken, Yapay Zeka aracıları için OAuth, kullanıcının adına güvenli bir şekilde hareket etmeyi kapsar.
Apidog'da Oturum Açma Akışı ve Hata Yollarını Test Etme
Apidog, ChatGPT ile kimseyi oturum açtırmaz. OAuth kurulumunuzu, belirteç çağrılarınızı ve hata yönetiminizi test eder. Apidog'u indirin ve bir ortam oluşturun.
1. İstemciyi değişkenler olarak saklayın. SIWC_CLIENT_ID, SIWC_REDIRECT_URI ve gizli bir istemci için SIWC_CLIENT_SECRET'i hassas bir değer olarak, ayrıca plan kullanımı için ACCESS_TOKEN'ı ekleyin. Kaydedilmiş bir istekte hiçbir gizli bilginin kalmaması için bunları {{SIWC_CLIENT_ID}} olarak referans verin.
2. Yetkilendirme Kodu akışını çalıştırın. Kimlik Doğrulama sekmesinde, PKCE ile Yetkilendirme Kodu içeren OAuth 2.0'ı seçin, yukarıdaki uç noktaları girin, kapsamı openid profile email olarak ayarlayın ve istemciniz için kayıtlı bir geri çağrı (callback) URL'si kullanın. Apidog OAuth 2.0 kılavuzu her alanı adım adım açıklar.
3. Aldığınız ID belirtecini doğrulayın (assert). Belirteç değişimini belirteç uç noktasına (kod, doğrulayıcı, yönlendirme URI'si, istemci kimliği) kendi POST isteği olarak kaydedin ve buna bir post-processor ekleyin. İmza ve nonce kontrolleri hala arka ucunuzda olmalıdır.
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());
});
name, email ve picture değerlerini doğrulamak yerine, mevcut olduklarında döndürüldükleri için günlüğe kaydedin. Plan kullanımı için, body.scope içinde chatgpt.tokens.use.direct bulunduğunu doğrulayın.
4. Hata yollarını taklit edin (mock). Gerçek bir Plus hesabı kötü bir donanım olduğundan, bunları bir Apidog mock sunucusundan döndürün:
- Plan kullanımı reddedildi:
scope'undachatgpt.tokens.use.directbulunmayan bir belirteç yanıtı. Uygulamanız oturum açmayı sürdürmeli ve plan kullanımını etkinleştirmeyi veya başka bir faturalandırma yolu kullanmayı teklif etmelidir. - Limit aşıldı:
error.codesubscription_sharing_usage_limit_exceededile 429, ayrıca akış ortasındaresponse.failedakış olayında aynı kod. Uygulamanızın plan isteklerini duraklattığını doğrulayın. - Uygun değil: 403
subscription_sharing_user_not_eligible. Yeniden denemeyin veya OAuth üzerinden döngüye girmeyin. - Bağlantı kesildi:
invalid_grantdöndüren bir yenileme veya 401subscription_sharing_invalid_user. Belirteçleri temizleyin ve tekrar oturum açmasını isteyin.
Durumları bir test senaryosuna bağlayın ve Apidog CLI ile CI'da çalıştırın. Hata ve kurtarma sayfası tüm seti listeler.
5. Canlı çağrıyı kontrol edin. Gerçek bir plan belirteciyle, belgelerin akış isteğini (Apidog'da Bearer {{ACCESS_TOKEN}} olarak) gönderin ve akışın tek başarı sinyali olan response.completed ile sona erdiğini onaylayın:
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
}'
SSS
Ücretsiz kullanıcılar ChatGPT ile oturum açabilir mi? Oturum açma, dünya genelindeki ChatGPT kullanıcıları tarafından kullanılabilir. Planı başka bir uygulama içinde kullanmak için Plus veya Pro gereklidir.
Uygulamam kullanıcının OpenAI API anahtarını alır mı? Hayır. Bir ID belirteci ve plan kullanımıyla birlikte, uygun Yanıtlar API istekleri için bir OAuth erişim belirteci alırsınız.
Bir kullanıcı limitine ulaştığında ne olur? İstekler subscription_sharing_usage_limit_exceeded hatasıyla başarısız olur: bir HTTP 429 veya akış başladıktan sonra bir response.failed olayı. Duraklatın ve Kullanımı Yönet'e bağlantı verin.
Bir Plus kullanıcısı bir ortak uygulama aracılığıyla GPT-6.1 Sol'u çalıştırabilir mi? Belgelerin örneği, bir plan belirteciyle gpt-6.1-sol kullanır, ancak bir model sunmadan önce hesabın modellerini o belirteçle listeleyin. Daha fazlası için GPT-6.1 Sol ücretsiz mi? makalesine bakın.
Sonraki Adım
Ticari bir uygulama işletiyorsanız, hemen bekleme listesine katılın ve beklerken limit ve bağlantı kesme işlemlerinizi taklitlere (mocks) karşı oluşturun. Plan kullanımını kendi API faturalandırmanızın yanında bir seçenek olarak değerlendirin, bir yedek olarak değil. Belirteç doğrulamalarını ve hata senaryosunu Apidog'da kaydedin, böylece istemci kimliğiniz geldiğinde tek yeni değişken gerçek belirteç olur.
