Login ChatGPT untuk Developer: Panduan Alur OAuth, Manajemen Penggunaan Paket, dan Dampak Biaya API Anda

Masuk dengan ChatGPT untuk pengembang: apa yang aplikasi Anda terima, bagaimana penggunaan paket Plus dan Pro serta batas mingguan bekerja, dan bagaimana menguji alur OAuth.

Emmanuel Mumba

Emmanuel Mumba

2 October 2026

Login ChatGPT untuk Developer: Panduan Alur OAuth, Manajemen Penggunaan Paket, dan Dampak Biaya API Anda

Apidog untuk Perusahaan

Penerapan On-Premises

SSO & RBAC

Sesuai SOC 2

Jelajahi Apidog Enterprise

Masuk dengan ChatGPT adalah login OAuth 2.0 dan OpenID Connect milik OpenAI, tersedia untuk pengguna ChatGPT di seluruh dunia. Aplikasi Anda mendapatkan ID akun yang stabil ditambah nama, alamat email, dan gambar profil pengguna. Sejak DevDay pada 29 September 2026, pengguna Plus dan Pro juga dapat mengizinkan aplikasi yang berpartisipasi untuk menjalankan permintaan AI pada paket ChatGPT mereka alih-alih kunci API Anda, dengan batasan mingguan yang mereka tetapkan per aplikasi. Aplikasi Anda tidak pernah menerima percakapan, memori, atau kunci API mereka.

Bagian kedua ini menyentuh tagihan Anda. Panduan ini membahas alur, bagaimana penggunaan paket terlihat oleh pengguna, siapa yang dapat berintegrasi hari ini, kapan paket pengguna harus menggantikan kunci Anda, dan cara menguji masuk dan jalur kegagalannya di Apidog. Untuk sisa acara, lihat rangkuman DevDay 2026; jika identitas versus otorisasi masih belum jelas, baca OAuth vs OpenID terlebih dahulu.

Masuk dengan ChatGPT sekilas

Item Yang didokumentasikan OpenAI
Cakupan identitas openid profile email
Cakupan penggunaan paket (alur sumber terbuka) offline_access resource.invoke chatgpt.tokens.use.direct, dengan resource=https://api.openai.com/v1
Yang diterima aplikasi Anda Token ID; dengan penggunaan paket, token akses dan token refresh
Kelayakan penggunaan paket Plus dan Pro, di aplikasi yang berpartisipasi
Di mana penggunaan dihitung Penggunaan ChatGPT Work dan Codex pada paket
Kontrol per aplikasi Batas mingguan sebagai bagian dari total penggunaan mingguan; kredit setelah batas dimatikan secara default
Token penggunaan paket Token akses 1 jam; token refresh 30 hari, diganti setiap kali refresh
Akses pengembang Aplikasi komersial: uji coba terbatas melalui formulir minat. Aplikasi sumber terbuka: layanan mandiri

Sumber: dokumen Masuk dengan ChatGPT, referensi token, dan artikel bantuan OpenAI tentang menggunakan paket ChatGPT Anda di aplikasi lain.

Apa yang diterima aplikasi Anda, dan apa yang tidak

Identitas adalah standar (default). Klien yang meminta openid profile email mendapatkan token ID. Sesuai dengan panduan situs web, profile mencakup klaim yang tersedia seperti nama dan gambar profil, dan email mencakup klaim email dan verifikasi email. Cakupan identitas tidak memberikan akses ke percakapan ChatGPT atau sumber daya API OpenAI.

Kunci akun pada `sub` yang terverifikasi ditambah penerbit dan ID klien, bukan email. OpenAI memperingatkan bahwa kecocokan email saja bukan bukti kepemilikan, jadi minta pengguna yang ada untuk mengonfirmasi tautan.

Penggunaan paket adalah hibah terpisah. Jika pengguna menyetujui cakupan tambahan, respons token menambahkan token akses untuk permintaan API Respons yang memenuhi syarat. Klien yang hanya mengandalkan identitas tidak memerlukan `access_token` sama sekali: `id_token` adalah satu-satunya artefak yang diperlukan.

Bagaimana alur OAuth bekerja

Alur situs web adalah Authorization Code grant dengan PKCE standar ditambah OIDC. Muat endpoint dari https://auth.openai.com/.well-known/openid-configuration. Dokumen mencantumkan nilai produksi ini:

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
  1. Backend Anda menghasilkan `state` baru, verifier PKCE dengan tantangan S256, dan `nonce`.
  2. Ini mengarahkan browser ke endpoint otorisasi dengan ID klien Anda, URI pengalihan yang tepat, dan cakupan.
  3. Pengguna menyetujui, dan OpenAI mengembalikan kode ke callback Anda.
  4. Backend Anda memeriksa `state`, menukar kode, dan memverifikasi tanda tangan, penerbit, audiens, kedaluwarsa, dan nonce dari token ID.
  5. Ini menemukan, membuat, atau menautkan akun lokal dan mengeluarkan sesinya sendiri.

Klien publik tidak mengirimkan rahasia. Klien rahasia yang menggunakan `client_secret_basic` hanya mengirimkan rahasianya di header HTTP Basic.

Alat sumber terbuka mendaftar secara berbeda. Panduan masuk sumber terbuka dimulai dengan client_id=dynamic_agent_client, sebuah agent_name_hint yang diatur ke nama aplikasi Anda, dan ext_agent_host_id yang persisten per host. Callback mengembalikan ID klien yang diterbitkan (seperti oaiapp_...) untuk disimpan dan digunakan kembali; pengalihan adalah URI loopback 127.0.0.1, dan tidak ada rahasia klien yang terlibat.

Bagaimana penggunaan paket berfungsi bagi pengguna

Apa yang dilihat pengguna Anda, dan apa yang harus dijelaskan oleh dokumen dukungan Anda:

Pengguna mengelola semua ini di bawah Pengaturan ChatGPT, Penggunaan (`chatgpt.com/settings/usage`), dan panduan UI OpenAI meminta Anda untuk menautkan ke sana dengan Kelola penggunaan.

Siapa yang berpartisipasi saat peluncuran, dan bagaimana Anda mendapatkan ID klien

Rangkuman DevDay OpenAI menyebut 16 mitra penggunaan paket, termasuk Devin dari Cognition, Notion, Vercel, T3, OpenClaw, dan Dactyl. The New Stack mencantumkan Amp, Warp, Kilo Code, dan OpenCode di antara yang lain, dengan Lovable ditandai sebagai 'segera hadir'. Jika Anda menjalankan OpenClaw, itu ada di kedua daftar.

Presentasi Sam Altman di atas panggung, seperti yang dilaporkan The New Stack: “sekarang Anda tidak perlu menanggung biaya token mereka untuk memulai.”

Bagaimana Anda bergabung tergantung pada apa yang Anda kirimkan:

Apa yang berubah pada tagihan API Anda

Saat ini Anda membayar per token dan memulihkannya melalui harga. Penggunaan paket memindahkan biaya model ke langganan pengguna, sehingga margin Anda tidak lagi bergantung pada seberapa banyak mereka menggunakan AI. Risikonya adalah kontrol.

Kunci API Anda Paket ChatGPT pengguna
Siapa yang membayar Anda, per token Paket pengguna (kredit hanya jika mereka ikut serta)
Siapa yang dapat menggunakannya Setiap pengguna Pengguna Plus dan Pro yang memberikan chatgpt.tokens.use.direct
Batasan Tingkat batas kecepatan Anda Penggunaan paket mingguan, batas per aplikasi, jendela lima jam Plus
Bentuk permintaan API Respons penuh store: false dan stream: true diperlukan; tidak ada temperature, max_output_tokens, pencarian file, atau Code Interpreter
Kegagalan umum 429 saat Anda melebihi tingkatan Anda 429 subscription_sharing_usage_limit_exceeded, atau kode tersebut dalam response.failed di tengah aliran
Cadangan Milik Anda untuk dirancang Tidak ada yang otomatis: OpenAI tidak mengganti penagihan
Apa yang harus ditampilkan Penggunaan dan harga Anda sendiri “Menggunakan paket ChatGPT”, tautan Kelola penggunaan, paket Anda yang mana yang mendukungnya

Pembatasan berasal dari halaman batasan pratinjau: fitur yang memerlukan status percakapan yang disimpan atau alat yang di-host tidak akan berjalan pada paket pengguna saat ini.

Pengaturan standar yang masuk akal adalah hibrida: penggunaan paket untuk pekerjaan interaktif oleh pengguna Plus dan Pro, kunci Anda untuk orang lain dan untuk pekerjaan latar belakang, CI, dan agen terjadwal. Saat batas tercapai, tampilkan Kelola penggunaan dan tawarkan kredit Anda sendiri sebagai opsi sekunder. Perbandingan Kunci API vs OAuth membahas pertukaran umum, dan OAuth untuk agen AI membahas bertindak atas nama pengguna dengan aman.

Cara menguji alur masuk dan jalur kegagalan di Apidog

Apidog tidak mengizinkan siapa pun masuk dengan ChatGPT. Ini menguji pengaturan OAuth Anda, panggilan token, dan penanganan kesalahan. Unduh Apidog dan buat lingkungan.

1. Simpan klien sebagai variabel. Tambahkan SIWC_CLIENT_ID, SIWC_REDIRECT_URI, dan untuk klien rahasia SIWC_CLIENT_SECRET sebagai nilai sensitif, ditambah ACCESS_TOKEN untuk penggunaan paket. Referensikan sebagai {{SIWC_CLIENT_ID}} agar tidak ada rahasia yang tersimpan dalam permintaan yang disimpan.

2. Jalankan alur Kode Otorisasi. Di tab Auth, pilih OAuth 2.0 dengan Kode Otorisasi dengan PKCE, masukkan endpoint di atas, atur cakupan ke openid profile email, dan gunakan URL callback yang terdaftar untuk klien Anda. Panduan OAuth 2.0 Apidog akan menjelaskan setiap kolom.

3. Lakukan pernyataan pada token ID yang Anda dapatkan. Simpan pertukaran token sebagai POST tersendiri ke endpoint token (kode, verifier, URI pengalihan, ID klien) dan tambahkan post-processor padanya. Pemeriksaan tanda tangan dan nonce masih menjadi tanggung jawab backend Anda.

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());
});

Catat name, email, dan picture daripada menegaskan (assert) mereka, karena mereka dikembalikan jika tersedia. Untuk penggunaan paket, pastikan bahwa body.scope berisi chatgpt.tokens.use.direct.

4. Simulasikan jalur kegagalan. Akun Plus yang asli adalah contoh yang buruk, jadi kembalikan ini dari server mock Apidog:

Rangkai kasus-kasus tersebut ke dalam skenario uji dan jalankan di CI dengan Apidog CLI. Halaman kesalahan dan pemulihan mencantumkan set lengkapnya.

5. Periksa panggilan langsung. Dengan token paket yang asli, kirim permintaan streaming dokumen (di Apidog, sebagai Bearer {{ACCESS_TOKEN}}) dan konfirmasi bahwa aliran berakhir dengan response.completed, satu-satunya sinyal keberhasilan:

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
  }'

FAQ

Bisakah pengguna Gratis masuk dengan ChatGPT? Masuk tersedia untuk pengguna ChatGPT secara global. Menggunakan paket di dalam aplikasi lain memerlukan Plus atau Pro.

Apakah aplikasi saya mendapatkan kunci API OpenAI pengguna? Tidak. Anda mendapatkan token ID dan, dengan penggunaan paket, token akses OAuth untuk permintaan API Respons yang memenuhi syarat.

Apa yang terjadi ketika pengguna mencapai batas mereka? Permintaan gagal dengan `subscription_sharing_usage_limit_exceeded`: HTTP 429, atau peristiwa `response.failed` setelah streaming dimulai. Jeda dan tautkan ke Kelola penggunaan.

Bisakah pengguna Plus menjalankan GPT-6.1 Sol melalui aplikasi mitra? Contoh dokumen menggunakan `gpt-6.1-sol` dengan token paket, tetapi cantumkan model akun dengan token tersebut sebelum menawarkannya. Lebih lanjut di apakah GPT-6.1 Sol gratis.

Langkah selanjutnya

Jika Anda menjalankan aplikasi komersial, bergabunglah dengan daftar tunggu sekarang, dan bangun penanganan batas dan pemutusan Anda terhadap mock saat Anda menunggu. Perlakukan penggunaan paket sebagai pilihan di samping penagihan API Anda sendiri, bukan sebagai pengganti. Simpan pernyataan token dan skenario kegagalan di Apidog, sehingga pada hari ID klien Anda tiba, satu-satunya variabel baru adalah token asli.

button

Mengembangkan API dengan Apidog

Apidog adalah alat pengembangan API yang membantu Anda mengembangkan API dengan lebih mudah dan efisien.