Autentikasi
Metode masuk untuk web ChatGPT dan klien Codex
- Aplikasi desktop ChatGPT Proyek, file, dan tugas yang lebih lama di desktop.
- ChatGPT web Percakapan, proyek, dan Work di browser Anda.
- Codex CLI Codex di terminal Anda.
- Ekstensi IDE Codex Codex di editor Anda.
Untuk menghubungkan klien lokal ke gateway organisasi Anda dengan atau tanpa masuk dengan ChatGPT, lihat Hubungkan ke gateway. Akses langsung ke Bedrock menggunakan opsi autentikasi Amazon Bedrock.
Autentikasi OpenAI
Codex mendukung dua cara bagi seseorang untuk masuk saat menggunakan model OpenAI:
- Masuk dengan ChatGPT untuk akses langganan
- Masuk dengan API key untuk akses berbasis penggunaan
Aplikasi desktop ChatGPT, Codex CLI, dan ekstensi IDE mendukung kedua metode masuk untuk pekerjaan lokal. Cloud Codex mengharuskan Anda masuk dengan ChatGPT.
Metode masuk Anda juga menentukan kontrol admin dan kebijakan penanganan data yang berlaku.
- Saat Anda masuk dengan ChatGPT, penggunaan Codex mengikuti izin ruang kerja ChatGPT, kontrol akses berbasis peran (RBAC), serta pengaturan retensi dan residensi ChatGPT Enterprise.
- Dengan API key, penggunaan mengikuti pengaturan retensi dan berbagi data organisasi API Anda.
Untuk ruang kerja terkelola, autentikasi hanyalah salah satu lapisan akses. Keanggotaan dan penyediaan ruang kerja menentukan siapa yang dapat masuk, sedangkan lisensi dan peran ruang kerja menentukan antarmuka serta fitur produk yang dapat mereka gunakan. Untuk pekerjaan lokal di aplikasi desktop ChatGPT, Codex CLI, atau ekstensi IDE, profil izin membatasi tindakan yang dapat dilakukan agen di perangkat. Lihat Grup dan penyediaan dan Peran dan izin ruang kerja untuk merencanakan kontrol tersebut.
Masuk dengan ChatGPT
Untuk menggunakan akses komputer lokal dengan Work Cloud di desktop, perangkat seluler, dan web:
Masuk dengan ChatGPT ke ruang kerja yang memenuhi syarat.
Minta pemilik ruang kerja mengaktifkan Work Cloud, lalu aktifkan Izinkan akses komputer lokal di bagian Work Cloud. Gunakan Codex secara lokal di aplikasi desktop ChatGPT bukan prasyarat.
API key dan token akses Codex tidak mengaktifkan akses komputer lokal dengan Work Cloud. Lihat Peran dan izin ruang kerja dan FAQ admin Work untuk prasyarat, atau Akses komputer lokal untuk Work Cloud dan dots untuk penyiapan.
Saat Anda masuk dengan ChatGPT dari aplikasi desktop ChatGPT, Codex CLI, atau ekstensi IDE, alur masuk akan membuka jendela browser. Setelah Anda masuk, browser mengembalikan kredensial Anda ke Codex.
ChatGPT web
Buka ChatGPT, masuk, lalu pilih ruang kerja tempat Anda ingin bekerja. ChatGPT web menyimpan sesi terautentikasi di browser Anda.
Aplikasi desktop ChatGPT
Di layar saat belum masuk, pilih Continue to sign in, lalu selesaikan alur di browser.
Codex CLI
Jalankan codex login, lalu selesaikan alur di browser. Ini adalah jalur autentikasi default
saat tidak ada sesi yang valid.
Ekstensi IDE
Pada layar saat Anda belum masuk, pilih Masuk dengan ChatGPT, lalu selesaikan alur di browser.
Masuk dengan API key
Anda juga dapat masuk ke aplikasi desktop ChatGPT, Codex CLI, atau ekstensi IDE dengan API key. Dapatkan API key Anda dari dasbor OpenAI.
Aplikasi desktop ChatGPT
Di layar saat belum masuk, pilih Sign in another way, masukkan kunci Anda, lalu pilih Continue.
Codex CLI
Salurkan API key ke codex login melalui stdin:
printenv OPENAI_API_KEY | codex login --with-api-keyEkstensi IDE
Pada layar saat Anda belum masuk, pilih Gunakan API key, masukkan API key Anda, lalu pilih OK.
OpenAI menagih penggunaan API key melalui akun OpenAI Platform Anda dengan tarif API standar. Lihat halaman harga API.
Autentikasi API key mendukung alur kerja Codex lokal, tetapi beberapa fitur yang bergantung pada akses ruang kerja ChatGPT atau layanan cloud dibatasi atau tidak tersedia. Bandingkan dukungan berdasarkan paket di Ketersediaan fitur.
Di Codex CLI dan Codex dalam aplikasi desktop ChatGPT, autentikasi API key mencakup akses ke plugin yang dikurasi OpenAI dan didukung. Beberapa plugin tidak tersedia karena alur koneksinya memerlukan kemampuan OAuth yang tidak didukung. Lihat Gunakan plugin.
Saat Anda masuk dengan API key, Codex menggunakan harga API standar, bukan kredit yang disertakan dalam paket ChatGPT.
Gunakan autentikasi API key untuk alur kerja Codex CLI terprogram, seperti tugas CI/CD. Jangan mengekspos eksekusi Codex di lingkungan yang tidak tepercaya atau publik.
Periksa autentikasi atau keluar
Buka menu profil untuk memastikan akun dan ruang kerja yang aktif. Untuk mengakhiri sesi ChatGPT web di browser tersebut, pilih Keluar.
Buka menu profil untuk melihat akun aktif atau status API key. Pilih Keluar untuk menghapus kredensial saat ini.
Jalankan codex login status untuk melihat metode autentikasi yang aktif. Untuk autentikasi
tersimpan, jalankan codex logout untuk menghapus kredensial saat ini. Saat
proses memilih identitas beban kerja, Codex menolak codex login dan
codex logout karena lingkungan proses mengontrol autentikasi.
Buka menu profil untuk melihat akun aktif atau status API key. Pilih Keluar untuk menghapus kredensial saat ini.
Gunakan token akses Codex untuk otomatisasi perusahaan
Di ruang kerja ChatGPT Enterprise, admin dapat memberikan izin token akses agar anggota yang diizinkan dapat membuat token akses Codex untuk alur kerja lokal Codex noninteraktif yang tepercaya. Gunakan token akses jika otomatisasi memerlukan akses ruang kerja ChatGPT, hak Codex yang dikelola ChatGPT, atau kontrol ruang kerja perusahaan tanpa masuk melalui browser.
Token akses ditujukan untuk skrip tepercaya, penjadwal, dan runner CI privat. Untuk panggilan OpenAI API umum, tetap gunakan Platform API key.
Untuk langkah penyiapan serta panduan izin, rotasi, dan pencabutan, lihat Token akses.
Jika lingkungan Anda sudah menyediakan token akses Codex, salurkan token tersebut ke CLI:
printenv CODEX_ACCESS_TOKEN | codex login --with-access-tokenAmankan akun cloud Codex Anda
Cloud Codex berinteraksi langsung dengan basis kode Anda sehingga memerlukan keamanan yang lebih kuat daripada banyak fitur ChatGPT lainnya. Aktifkan autentikasi multifaktor (MFA).
Jika Anda menggunakan penyedia login sosial (Google, Microsoft, Apple), Anda tidak diwajibkan mengaktifkan MFA pada akun ChatGPT, tetapi Anda dapat menyiapkannya melalui penyedia login sosial.
Untuk petunjuk penyiapan, lihat:
Jika Anda mengakses ChatGPT melalui sistem masuk tunggal (SSO), administrator SSO organisasi Anda harus menerapkan MFA untuk semua pengguna.
Jika Anda masuk menggunakan email dan kata sandi, Anda harus menyiapkan MFA di akun sebelum mengakses cloud Codex.
Jika akun Anda mendukung lebih dari satu metode login dan salah satunya adalah email dan kata sandi, Anda harus menyiapkan MFA sebelum mengakses Codex, meskipun Anda masuk dengan cara lain.
Penyimpanan sementara login
Saat Anda masuk ke aplikasi desktop ChatGPT, Codex CLI, atau ekstensi IDE menggunakan ChatGPT atau API key, detail login Anda disimpan sementara dan digunakan kembali. CLI dan ekstensi menggunakan detail login tersimpan yang sama. Jika Anda keluar dari salah satunya, Anda harus masuk lagi saat berikutnya memulai CLI atau ekstensi.
Codex menyimpan detail login secara lokal dalam file teks biasa di ~/.codex/auth.json atau dalam penyimpanan kredensial khusus OS Anda.
Untuk sesi masuk dengan ChatGPT, Codex secara otomatis menyegarkan token selama penggunaan sebelum kedaluwarsa, sehingga sesi aktif biasanya berlanjut tanpa memerlukan login browser lagi.
Penyimpanan kredensial
Gunakan cli_auth_credentials_store untuk mengontrol tempat Codex CLI menyimpan kredensial yang disimpan sementara:
# file | keyring | auto | ephemeral
cli_auth_credentials_store = "keyring"filemenyimpan kredensial dalamauth.jsondi bawahCODEX_HOME(defaultnya~/.codex).keyringmenyimpan kredensial di penyimpanan kredensial sistem operasi Anda dan gagal jika penyimpanan tersebut tidak tersedia.automenggunakan penyimpanan kredensial OS jika tersedia; jika tidak, menggunakanauth.jsonsebagai cadangan.ephemeralmenyimpan kredensial hanya dalam memori untuk proses yang sedang berjalan.
Lihat referensi konfigurasi untuk skema
config.toml yang lengkap.
Admin dapat memberlakukan cli_auth_credentials_store dan chatgpt_base_url melalui
persyaratan autentikasi lokal.
Pengguna tidak dapat mengesampingkan persyaratan tersebut melalui config.toml atau penggantian pengaturan melalui CLI.
Terapkan metode login atau ruang kerja
Dalam lingkungan terkelola, admin dapat membatasi cara pengguna diizinkan melakukan autentikasi:
# Only allow ChatGPT login or only allow API key login.
forced_login_method = "chatgpt" # or "api"
# When using ChatGPT login, restrict users to a specific workspace.
forced_chatgpt_workspace_id = "00000000-0000-0000-0000-000000000000"Jika kredensial aktif tidak sesuai dengan pembatasan yang dikonfigurasi, Codex mengeluarkan pengguna dan berhenti.
Pengaturan ini juga dapat diberikan melalui konfigurasi terkelola lama. Untuk pembatasan login yang diberlakukan admin, lihat Kelola autentikasi secara lokal.
Diagnostik login
Menjalankan codex login secara langsung akan menulis file khusus codex-login.log di
direktori log yang Anda konfigurasikan. Gunakan file ini saat Anda perlu menelusuri kegagalan login melalui browser atau
kode perangkat, atau saat tim dukungan meminta log khusus login.
CA bundle kustom
Jika jaringan Anda menggunakan proksi TLS perusahaan atau CA akar privat, atur
CODEX_CA_CERTIFICATE ke PEM bundle sebelum masuk. Jika
CODEX_CA_CERTIFICATE tidak diatur, Codex menggunakan SSL_CERT_FILE sebagai alternatif. Pengaturan
CA kustom yang sama berlaku untuk proses masuk, permintaan HTTPS biasa, dan koneksi WebSocket
aman.
export CODEX_CA_CERTIFICATE=/path/to/corporate-root-ca.pem
codex loginMasuk pada perangkat headless
Jika Anda masuk ke ChatGPT menggunakan Codex CLI, ada beberapa situasi ketika antarmuka masuk berbasis browser mungkin tidak berfungsi:
- Anda menjalankan CLI di lingkungan jarak jauh atau headless.
- Konfigurasi jaringan lokal Anda memblokir callback localhost yang digunakan Codex untuk mengembalikan token OAuth ke CLI setelah Anda masuk.
Dalam situasi ini, utamakan autentikasi kode perangkat (beta). Pada antarmuka masuk interaktif, pilih Masuk dengan Kode Perangkat, atau jalankan codex login --device-auth secara langsung. Jika autentikasi kode perangkat tidak berfungsi di lingkungan Anda, gunakan salah satu metode alternatif.
Pilihan utama: Autentikasi kode perangkat (beta)
- Aktifkan opsi masuk dengan kode perangkat di pengaturan keamanan ChatGPT (akun pribadi) atau izin ruang kerja ChatGPT (admin ruang kerja).
- Di terminal tempat Anda menjalankan Codex, pilih salah satu opsi berikut:
- Pada antarmuka masuk interaktif, pilih Masuk dengan Kode Perangkat.
- Jalankan
codex login --device-auth.
- Buka tautan di browser Anda, masuk, lalu masukkan kode sekali pakai.
Jika opsi masuk dengan kode perangkat tidak tersedia di lingkungan Anda, gunakan salah satu metode alternatif di bawah ini.
Alternatif: Lakukan autentikasi secara lokal dan salin cache autentikasi Anda
Jika Anda dapat menyelesaikan alur masuk di komputer yang memiliki browser, Anda dapat menyalin kredensial yang tersimpan dalam cache ke komputer headless.
- Pada komputer yang dapat menggunakan alur masuk berbasis browser, jalankan
codex login. - Pastikan cache masuk tersedia di
~/.codex/auth.json. - Salin
~/.codex/auth.jsonke~/.codex/auth.jsonpada komputer headless.
Perlakukan ~/.codex/auth.json seperti kata sandi: file ini berisi token akses. Jangan memasukkannya ke dalam commit, menempelkannya ke tiket, atau membagikannya dalam percakapan.
Jika sistem operasi Anda menyimpan kredensial di penyimpanan kredensial alih-alih ~/.codex/auth.json, metode ini mungkin tidak berlaku. Lihat
Penyimpanan kredensial untuk mengetahui cara mengonfigurasi penyimpanan berbasis file.
Salin ke komputer jarak jauh melalui SSH:
ssh user@remote 'mkdir -p ~/.codex'
scp ~/.codex/auth.json user@remote:~/.codex/auth.jsonAtau gunakan perintah satu baris tanpa scp:
ssh user@remote 'mkdir -p ~/.codex && cat > ~/.codex/auth.json' < ~/.codex/auth.jsonSalin ke dalam kontainer Docker:
# Replace MY_CONTAINER with the name or ID of your container.
CONTAINER_HOME=$(docker exec MY_CONTAINER printenv HOME)
docker exec MY_CONTAINER mkdir -p "$CONTAINER_HOME/.codex"
docker cp ~/.codex/auth.json MY_CONTAINER:"$CONTAINER_HOME/.codex/auth.json"Untuk versi yang lebih lanjut dari pola yang sama pada runner CI/CD tepercaya, lihat
Mempertahankan autentikasi akun Codex di CI/CD (lanjutan).
Panduan tersebut menjelaskan cara mengizinkan Codex memperbarui auth.json selama eksekusi normal dan
kemudian menyimpan file yang telah diperbarui untuk pekerjaan berikutnya. API key tetap menjadi pilihan
default yang direkomendasikan untuk otomatisasi.
Alternatif: Teruskan callback localhost melalui SSH
Jika Anda dapat meneruskan port antara komputer lokal dan host jarak jauh, Anda dapat menggunakan alur standar berbasis browser dengan membuat tunnel ke server callback lokal Codex (default localhost:1455).
- Dari komputer lokal Anda, mulai penerusan port:
ssh -L 1455:localhost:1455 user@remote- Dalam sesi SSH tersebut, jalankan
codex logindan buka alamat yang ditampilkan pada komputer lokal Anda.
Penyedia model alternatif
Saat menentukan penyedia model khusus dalam file konfigurasi, Anda dapat memilih salah satu metode autentikasi berikut:
- Autentikasi OpenAI: Atur
requires_openai_auth = trueuntuk menggunakan autentikasi OpenAI. Anda kemudian dapat masuk dengan ChatGPT atau API key. Metode ini berguna saat Anda mengakses model OpenAI melalui server proksi LLM. Saatrequires_openai_auth = true, Codex mengabaikanenv_key. - Autentikasi variabel lingkungan: Atur
env_key = "<ENV_VARIABLE_NAME>"untuk menggunakan API key khusus penyedia dari variabel lingkungan lokal bernama<ENV_VARIABLE_NAME>. - OAuth bawaan gateway: Konfigurasikan
[model_providers.<id>.gateway_oauth]untuk masuk melalui browser menggunakan penyedia identitas organisasi Anda. Metode ini berfungsi dengan atau tanpa masuk dengan ChatGPT. Lihat OAuth bawaan gateway untuk persyaratan dan konfigurasi gateway. - Autentikasi berbasis perintah: Konfigurasikan
[model_providers.<id>.auth]untuk memperoleh token dari alat bantu kredensial yang terinstal. - Tanpa autentikasi: Untuk model lokal yang tidak memerlukan kredensial, biarkan
requires_openai_authtidak ditetapkan atau bernilaifalsedan jangan sertakan pengaturan kredensial, termasukenv_key,experimental_bearer_token,auth, dangateway_oauth.