ChatGPT ile Oturum Aç, OpenAI’nin OAuth 2.0 ve OpenID Connect tabanlı oturum açma hizmetidir ve dünya genelindeki ChatGPT kullanıcıları tarafından kullanılabilir. Uygulamanız kararlı bir hesap kimliğiyle birlikte kullanıcının adını, e-posta adresini ve profil resmini alabilir. 29 Eylül 2026’daki DevDay’den bu yana Plus ve Pro kullanıcıları, katılımcı uygulamaların kendi API anahtarınız yerine kullanıcıların ChatGPT planları üzerinden yapay zeka istekleri çalıştırmasına izin verebilir. Uygulamanız kullanıcının konuşmalarını, anılarını veya API anahtarını hiçbir zaman almaz.
Bu rehber, hem kimlik doğrulama akışını hem de plan kullanımının faturalandırma etkisini uygular. Kullanıcının planını ne zaman kullanacağınızı, hangi durumlarda kendi API anahtarınıza döneceğinizi ve oturum açma ile hata senaryolarını Apidog’da nasıl test edeceğinizi adım adım ele alır. Etkinliğin geri kalanı için DevDay 2026 özetine bakın. Kimlik doğrulama ve yetkilendirme farkını netleştirmek için önce OAuth vs OpenID makalesini okuyun.
ChatGPT ile Oturum Açmaya Genel Bakış
| Öğe | OpenAI’nin belgeledikleri |
|---|---|
| Kimlik kapsamları | openid profile email |
| Plan kullanım kapsamları (açık kaynak akışı) |
offline_access resource.invoke chatgpt.tokens.use.direct, ayrıca resource=https://api.openai.com/v1
|
| Uygulamanızın aldıkları | ID belirteci; plan kullanımıyla erişim belirteci (access_token) ve 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 yüzdesi olarak haftalık limit; limit sonrası krediler varsayılan olarak kapalı |
| Plan kullanım belirteçleri | Erişim belirteci 1 saat; yenileme belirteci 30 gün ve her yenilemede değiştirilir |
| Geliştirici erişimi | Ticari uygulamalar: ilgi formuyla sınırlı deneme. Açık kaynak uygulamalar: self-serve |
Kaynaklar: ChatGPT ile Oturum Açma belgeleri, belirteç referansı ve OpenAI’nin ChatGPT planınızı diğer uygulamalarda kullanma yardım makalesi.
Uygulamanızın Aldıkları ve Almadıkları
Kimlik doğrulama varsayılan akıştır. openid profile email kapsamlarını isteyen bir istemci ID belirteci alır:
-
profile: ad ve profil resmi gibi iddiaları kapsar. -
email: e-posta ve e-posta doğrulama iddialarını kapsar. - Bu kapsamlar ChatGPT konuşmalarına veya OpenAI API kaynaklarına erişim vermez.
Web sitesi kılavuzu, bu iddiaların ayrıntılarını açıklar.
Yerel kullanıcı hesabınızı e-posta adresiyle değil, doğrulanmış sub değeriyle eşleştirin. Eşleştirme anahtarınız sağlayıcı (issuer), istemci kimliği ve sub birleşimi olmalıdır. OpenAI, yalnızca e-posta eşleşmesinin hesap sahipliğini kanıtlamadığını belirtir. Mevcut bir hesabı bağlarken kullanıcıdan açık onay alın.
Plan kullanımı ayrı bir izindir. Kullanıcı ek kapsamları onayladığında, belirteç yanıtı uygun Responses API isteklerinde kullanılabilecek bir erişim belirteci içerebilir. Yalnızca oturum açma kullanan istemciler access_token beklememelidir; bu senaryoda gerekli olan tek yapı id_token’dır.
OAuth Akışı Nasıl Çalışır?
Web sitesi entegrasyonu, PKCE’li Authorization Code grant ve OIDC kullanır. Başlangıçta uç noktaları doğrudan sabitlemek yerine şu discovery belgesinden yükleyin:
https://auth.openai.com/.well-known/openid-configuration
Belgelerde listelenen üretim değerleri:
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
Uygulama akışını şu sırayla kurun:
- Arka uçta her oturum açma isteği için yeni bir
state,nonceve PKCE doğrulayıcısı üretin. - PKCE doğrulayıcısından S256 challenge oluşturun.
- Tarayıcıyı istemci kimliği, tam yönlendirme URI’si ve gerekli kapsamlarla yetkilendirme uç noktasına yönlendirin.
- Callback isteğinde dönen
statedeğerini sunucu tarafında doğrulayın. - Yetkilendirme kodunu token endpoint’inde takas edin.
- ID belirtecinin imzasını,
iss,aud,expvenoncedeğerlerini doğrulayın. - Yerel hesabı bulun, oluşturun veya kullanıcı onayıyla mevcut hesapla bağlayın.
- Kendi uygulama oturumunuzu başlatın.
PKCE ayrıntıları için PKCE’li OAuth 2.0 akışları rehberini kullanabilirsiniz.
Genel istemciler istemci gizli anahtarı göndermez. client_secret_basic kullanan gizli istemciler ise gizli anahtarı yalnızca HTTP Basic başlığında iletmelidir.
Açık kaynak araçların kayıt akışı farklıdır. Açık kaynak oturum açma kılavuzu şu değerlerle başlar:
client_id=dynamic_agent_client- Uygulamanızın adı için
agent_name_hint - Ana bilgisayar başına kalıcı
ext_agent_host_id
Bu akış, kayıtlı callback URI’siyle birlikte tekrar kullanılabilir bir türetilmiş istemci kimliği (oaiapp_... gibi) döndürür. Yönlendirme URI’si 127.0.0.1 loopback adresidir ve istemci gizli anahtarı içermez.
Plan Kullanımı Kullanıcı İçin Nasıl Çalışır?
Plan kullanımını arayüzünüzde ve destek dokümanlarınızda açıkça anlatın:
- Uygun istekler kullanıcının planından düşer. Bu kullanım, kullanıcının Plus veya Pro planındaki ChatGPT Work ve Codex kullanımına dahil edilir.
-
Her uygulamanın haftalık limiti vardır. Kullanıcı limiti genel haftalık kullanımının yüzdesi olarak belirler. Belgelerdeki ayar örneği
%10ile%100arasındadır. - Bu limit ayrılmış bir kota değildir. Kullanıcının başka uygulamalardaki yoğun kullanımı plan limitini önce tüketebilir.
-
Krediler isteğe bağlıdır. Limit sonrası kredi kullanımını açmak varsayılan olarak kapalıdır ve uygulama limitinin
%100olması gerekir. - Plus için beş saatlik paylaşımlı limit vardır. Hesaplar ve oturumlar sayfasına göre bu limit, plan kullanan tüm uygulamaları kapsar. Pro için geçerli değildir.
- Bağlantıyı kesmek yalnızca gelecekteki kullanımı durdurur. Daha önce tüketilen kullanım geri alınmaz. OpenAI uygulamanıza kesme bildirimi göndermez; bunu ancak istek veya yenileme çağrısı başarısız olduğunda fark edersiniz.
Kullanıcılar bu ayarları ChatGPT’de Ayarlar → Kullanım altında (chatgpt.com/settings/usage) yönetir. OpenAI’nin UI yönergeleri, uygulamanızda Kullanımı Yönet bağlantısı sunmanızı ister.
Lansmanda Kimler Var ve İ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ı listeler. The New Stack ayrıca Amp, Warp, Kilo Code ve OpenCode’u listeler; Lovable ise yakında gelecek olarak işaretlenmiştir. OpenClaw kullanıyorsanız, iki listede de yer alır.
The New Stack’in aktardığına göre Sam Altman sahnede şunu söyledi: “artık onların işlem ücretlerini (token maliyetlerini) karşılamak zorunda değilsiniz.”
Erişim yolu, uygulama türünüze bağlıdır:
- Ticari veya barındırılan uygulamalar: Oturum açma sınırlı denemededir. Yalnızca kimlik doğrulama ya da plan kullanımı isteseniz de OpenAI’nin ilgi formu üzerinden istemci kimliği talep edin.
- Açık kaynak ve yerel olarak barındırılan araçlar: Plan kullanımı, açık kaynak ortakları için yukarıdaki self-serve kayıt akışıyla kullanılabilir.
API Faturanızda Neler Değişir?
Kendi API anahtarınızı kullandığınızda token başına maliyeti siz ödersiniz ve bunu fiyatlandırmanızla telafi edersiniz. Plan kullanımı, uygun model maliyetini kullanıcının aboneliğine taşır. Bu, yapay zeka maliyetinizin kullanıcı yoğunluğuna bağlılığını azaltabilir; ancak limitler ve uygunluk üzerinde daha az kontrolünüz olur.
| Sizin API anahtarınız | Kullanıcının ChatGPT planı | |
|---|---|---|
| Kim öder | Siz, token başına | Kullanıcının planı; yalnızca kullanıcı katılırsa limit sonrası krediler |
| Kimler kullanabilir | Her kullanıcı |
chatgpt.tokens.use.direct izni veren Plus ve Pro kullanıcıları |
| Limitler | Sizin oran sınırlama katmanınız | Haftalık plan kullanımı, uygulama başına limit, Plus’ın beş saatlik penceresi |
| İstek biçimi | Tam Responses API |
store: false ve stream: true zorunlu; temperature, max_output_tokens, dosya araması ve Kod Yorumlayıcı yok |
| Tipik hata | Katmanınızı aştığınızda 429 | 429 subscription_sharing_usage_limit_exceeded veya akış sırasında response.failed
|
| Geri dönüş | Tasarım size ait | Otomatik değildir; OpenAI faturalandırmayı değiştirmez |
| Arayüzde gösterilecekler | Kendi kullanımınız ve fiyatlandırmanız | “ChatGPT planı kullanılıyor”, Kullanımı Yönet bağlantısı ve destekleyen planlarınız |
Kısıtlamalar önizleme sınırlamaları sayfasında açıklanır. Depolanmış konuşma durumu veya barındırılan araçlar gerektiren özellikler, bugün kullanıcının planında çalışmaz.
Pratik varsayılan, hibrit bir mimaridir:
- Plus ve Pro kullanıcılarının etkileşimli isteklerinde plan kullanımını deneyin.
- Uygun olmayan kullanıcılar, arka plan işleri, CI süreçleri ve zamanlanmış aracılar için kendi API anahtarınızı kullanın.
- Plan limiti aşıldığında Kullanımı Yönet bağlantısını gösterin.
- İkincil seçenek olarak kendi kredilerinizi veya kendi faturalandırma akışınızı sunun.
- Bu geçişi otomatik ve sessiz yapmayın; kullanıcıya hangi ödeme yolunun kullanıldığını belirtin.
Genel tasarım farkları için API anahtarı ve OAuth karşılaştırmasına, kullanıcı adına güvenli işlem yürütmek için Yapay Zeka aracıları için OAuth rehberine bakın.
Apidog’da Oturum Açma Akışı ve Hata Yollarını Test Etme
Apidog, kullanıcıları ChatGPT ile oturum açtırmaz. Bunun yerine OAuth yapılandırmanızı, token çağrılarınızı ve hata yönetiminizi test etmenizi sağlar. Apidog’u indirin ve ayrı bir test ortamı oluşturun.
1. İstemci bilgilerini ortam değişkenlerinde saklayın
Aşağıdaki değişkenleri ortamınıza ekleyin:
SIWC_CLIENT_ID
SIWC_REDIRECT_URI
SIWC_CLIENT_SECRET
ACCESS_TOKEN
SIWC_CLIENT_SECRET değerini hassas değişken olarak kaydedin. İsteklerde sabit değer kullanmak yerine değişken referanslarını kullanın:
{{SIWC_CLIENT_ID}}
{{SIWC_REDIRECT_URI}}
{{SIWC_CLIENT_SECRET}}
{{ACCESS_TOKEN}}
Bu yaklaşım, kaydedilmiş isteklerde istemci gizli anahtarı kalmasını önler.
2. Authorization Code akışını çalıştırın
Apidog’da Kimlik Doğrulama sekmesinden PKCE’li OAuth 2.0 Authorization Code akışını seçin.
Aşağıdaki değerleri girin:
Authorization URL:
https://auth.openai.com/api/accounts/authorize
Token URL:
https://auth.openai.com/api/accounts/oauth/token
Scope:
openid profile email
İstemci kaydınızda bulunan callback URI’sini kullanın. Her alanın kurulumu için Apidog OAuth 2.0 kılavuzunu izleyin.
3. ID belirtecini doğrulayın
Token değişimini ayrı bir POST isteği olarak kaydedin. İstek gövdesinde yetkilendirme kodu, PKCE doğrulayıcısı, yönlendirme URI’si ve istemci kimliği bulunmalıdır.
Apidog post-processor bölümüne temel yanıt doğrulamaları ekleyin:
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());
});
Bu test yalnızca claim değerlerini kontrol eder. ID belirteci imza doğrulaması ve nonce kontrolü mutlaka arka uçta, JWKS kullanılarak yapılmalıdır.
name, email ve picture alanlarını zorunlu kabul etmek yerine, mevcut olduklarında günlüğe kaydedin. Plan kullanımı istiyorsanız body.scope içinde aşağıdaki kapsamın bulunduğunu da doğrulayın:
chatgpt.tokens.use.direct
4. Hata yollarını mock ile test edin
Gerçek bir Plus hesabını hata testi için kullanmak yerine Apidog mock sunucusundan kontrollü yanıtlar döndürün.
Test etmeniz gereken minimum senaryolar:
Plan kullanımı reddedildi:
scopeiçindechatgpt.tokens.use.directolmayan token yanıtı döndürün. Uygulamanız oturum açmayı sürdürmeli ve plan kullanımını etkinleştirmeyi veya alternatif faturalandırmayı önermelidir.Limit aşıldı:
error.codedeğerisubscription_sharing_usage_limit_exceededolan 429 yanıtı döndürün. Aynı kodu akış sırasındaresponse.failedolayında da test edin. Uygulamanız plan isteklerini duraklatmalıdır.Uygun değil:
subscription_sharing_user_not_eligiblekoduyla 403 döndürün. Uygulamanız tekrar denememeli veya OAuth akışına döngüsel olarak geri dönmemelidir.Bağlantı kesildi: Yenileme isteğinde
invalid_grantveya API isteğindesubscription_sharing_invalid_userkoduyla 401 döndürün. Uygulamanız tokenları temizlemeli ve kullanıcıdan yeniden oturum açmasını istemelidir.
Bu senaryoları tek bir test senaryosunda birleştirin ve Apidog CLI ile CI ortamında çalıştırın. Tüm hata seti için hata ve kurtarma sayfasına bakın.
5. Canlı akış isteğini doğrulayın
Gerçek bir plan erişim belirteciyle, Responses API akış isteğini çalıştırın. Apidog’da Authorization türünü Bearer Token olarak ayarlayın:
Bearer {{ACCESS_TOKEN}}
İstek, belgelerdeki kısıtlamalara uygun olarak store: false ve stream: true içermelidir. Başarılı bir akışın tek başarı sinyali response.completed olayıdır.
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?
Evet. Oturum açma dünya genelindeki ChatGPT kullanıcıları tarafından kullanılabilir. Bir kullanıcının planını başka bir uygulamada kullanmak için Plus veya Pro gerekir.
Uygulamam kullanıcının OpenAI API anahtarını alır mı?
Hayır. Uygulamanız bir ID belirteci alır. Plan kullanımı onaylanmışsa, uygun Responses API istekleri için OAuth erişim belirteci de alabilir.
Kullanıcı limitine ulaştığında ne olur?
İstekler subscription_sharing_usage_limit_exceeded ile başarısız olur. Bu hata HTTP 429 olarak veya akış başladıktan sonra response.failed olayı içinde dönebilir. Plan isteklerini duraklatın ve kullanıcıya Kullanımı Yönet bağlantısını gösterin.
Plus kullanıcısı ortak bir uygulama üzerinden GPT-6.1 Sol çalıştırabilir mi?
Belgelerdeki örnek, plan belirteciyle gpt-6.1-sol kullanır. Ancak model göndermeden önce, o belirteçle erişilebilir modelleri listeleyin. Ayrıntılar için GPT-6.1 Sol ücretsiz mi? makalesine bakın.
Sonraki Adım
Ticari bir uygulama geliştiriyorsanız hemen bekleme listesine katılın. İstemci kimliğinizi beklerken limit aşımı, uygun olmama ve bağlantı kesilmesi senaryolarını mock yanıtlarla uygulayın.
Plan kullanımını kendi API faturalandırmanızın yanında kullanıcıya sunulan bir seçenek olarak tasarlayın; zorunlu bir yedek olarak ele almayın. Token doğrulamalarını, hata senaryolarını ve canlı akış testlerini Apidog’da kaydedin. Böylece istemci kimliğiniz geldiğinde değiştirmeniz gereken ana unsur gerçek üretim belirteçleri olur.
Top comments (0)