Xác thực
Các phương thức đăng nhập cho ChatGPT web và ứng dụng Codex
- Ứng dụng ChatGPT trên máy tính Dự án, tệp và các tác vụ dài hơn trên máy tính.
- ChatGPT trên web Trò chuyện, dự án và Work trong trình duyệt của bạn.
- Codex CLI Codex trong terminal của bạn.
- Tiện ích mở rộng Codex cho IDE Codex trong trình soạn thảo của bạn.
Để kết nối ứng dụng khách cục bộ với cổng của tổ chức, có hoặc không đăng nhập ChatGPT, hãy xem Kết nối với cổng. Truy cập trực tiếp vào Bedrock sử dụng các tùy chọn xác thực Amazon Bedrock.
Xác thực OpenAI
Codex hỗ trợ hai cách để một người đăng nhập khi sử dụng các mô hình OpenAI:
- Đăng nhập bằng ChatGPT để sử dụng quyền truy cập theo gói đăng ký
- Đăng nhập bằng API key để sử dụng quyền truy cập tính phí theo mức sử dụng
Ứng dụng ChatGPT trên máy tính, Codex CLI và tiện ích mở rộng IDE hỗ trợ cả hai phương thức đăng nhập cho công việc cục bộ. Codex cloud yêu cầu đăng nhập bằng ChatGPT.
Phương thức đăng nhập của bạn cũng xác định các biện pháp kiểm soát dành cho quản trị viên và chính sách xử lý dữ liệu được áp dụng.
- Khi bạn đăng nhập bằng ChatGPT, mức sử dụng Codex tuân theo quyền trong không gian làm việc ChatGPT, kiểm soát quyền truy cập dựa trên vai trò (RBAC) và các chế độ cài đặt về lưu giữ cũng như nơi lưu trú dữ liệu của ChatGPT Enterprise.
- Khi sử dụng API key, mức sử dụng sẽ tuân theo các chế độ cài đặt về lưu giữ và chia sẻ dữ liệu của tổ chức API của bạn.
Đối với không gian làm việc được quản lý, xác thực chỉ là một lớp của quyền truy cập. Tư cách thành viên và việc cấp phát tài khoản trong không gian làm việc xác định ai có thể đăng nhập, còn suất sử dụng và vai trò trong không gian làm việc xác định giao diện sản phẩm và tính năng mà họ có thể sử dụng. Đối với công việc cục bộ trong ứng dụng ChatGPT trên máy tính, Codex CLI hoặc tiện ích mở rộng IDE, hồ sơ quyền giới hạn những gì tác nhân có thể thực hiện trên thiết bị. Xem Nhóm và cấp phát tài khoản và Vai trò và quyền trong không gian làm việc để lập kế hoạch cho các biện pháp kiểm soát đó.
Đăng nhập bằng ChatGPT
Để sử dụng quyền truy cập máy tính cục bộ với Work Cloud trên máy tính, thiết bị di động và web:
Đăng nhập bằng ChatGPT vào một không gian làm việc đủ điều kiện.
Yêu cầu chủ sở hữu không gian làm việc bật Work Cloud, sau đó bật Cho phép truy cập máy tính cục bộ trong Work Cloud. Sử dụng Codex cục bộ trên ứng dụng ChatGPT dành cho máy tính không phải là điều kiện tiên quyết.
API key và mã thông báo truy cập Codex không kích hoạt quyền truy cập máy tính cục bộ với Work Cloud. Xem Vai trò và quyền trong không gian làm việc và Câu hỏi thường gặp dành cho quản trị viên Work để biết các điều kiện tiên quyết, hoặc Quyền truy cập máy tính cục bộ cho Work Cloud và dots để biết cách thiết lập.
Khi bạn đăng nhập bằng ChatGPT từ ứng dụng ChatGPT trên máy tính, Codex CLI hoặc tiện ích mở rộng IDE, quy trình đăng nhập sẽ mở một cửa sổ trình duyệt. Sau khi bạn đăng nhập, trình duyệt trả thông tin xác thực của bạn về Codex.
ChatGPT trên web
Mở ChatGPT, đăng nhập và chọn không gian làm việc mà bạn muốn sử dụng. ChatGPT trên web lưu phiên đã xác thực trong trình duyệt của bạn.
Ứng dụng ChatGPT trên máy tính
Trên màn hình đã đăng xuất, chọn Tiếp tục đăng nhập, sau đó hoàn tất quy trình trên trình duyệt.
Codex CLI
Chạy codex login, rồi hoàn tất quy trình trên trình duyệt. Đây là phương thức
xác thực mặc định khi không có phiên hợp lệ.
Tiện ích mở rộng IDE
Trên màn hình chưa đăng nhập, chọn Đăng nhập bằng ChatGPT, rồi hoàn tất quy trình trên trình duyệt.
Đăng nhập bằng API key
Bạn cũng có thể đăng nhập vào ứng dụng ChatGPT trên máy tính, Codex CLI hoặc tiện ích mở rộng IDE bằng API key. Lấy API key của bạn từ bảng điều khiển OpenAI.
Ứng dụng ChatGPT trên máy tính
Trên màn hình đã đăng xuất, chọn Đăng nhập theo cách khác, nhập khóa của bạn, sau đó chọn Tiếp tục.
Codex CLI
Truyền khóa vào codex login qua stdin bằng đường ống:
printenv OPENAI_API_KEY | codex login --with-api-keyTiện ích mở rộng IDE
Trên màn hình chưa đăng nhập, chọn Sử dụng API key, nhập khóa của bạn, rồi chọn OK.
OpenAI tính phí mức sử dụng API key thông qua tài khoản OpenAI Platform của bạn theo mức giá API tiêu chuẩn. Xem trang giá API.
Xác thực bằng API key hỗ trợ quy trình làm việc Codex cục bộ, nhưng một số tính năng phụ thuộc vào quyền truy cập không gian làm việc ChatGPT hoặc dịch vụ đám mây sẽ bị hạn chế hoặc không khả dụng. So sánh phạm vi hỗ trợ theo gói trong Khả năng cung cấp tính năng.
Trong Codex CLI và Codex trên ứng dụng ChatGPT dành cho máy tính, xác thực bằng API key bao gồm quyền truy cập các plugin do OpenAI tuyển chọn được hỗ trợ. Một số plugin không khả dụng vì quy trình kết nối của chúng yêu cầu các khả năng OAuth chưa được hỗ trợ. Xem Sử dụng plugin.
Khi bạn đăng nhập bằng API key, Codex sử dụng giá API tiêu chuẩn thay vì tín dụng đi kèm gói ChatGPT.
Sử dụng xác thực bằng API key cho các quy trình làm việc Codex CLI theo chương trình, chẳng hạn như tác vụ CI/CD. Không cung cấp khả năng thực thi Codex trong môi trường không đáng tin cậy hoặc công khai.
Kiểm tra trạng thái xác thực hoặc đăng xuất
Mở menu hồ sơ để xác nhận tài khoản và không gian làm việc đang sử dụng. Để kết thúc phiên ChatGPT trên web trong trình duyệt đó, chọn Đăng xuất.
Mở menu hồ sơ để xem tài khoản đang hoạt động hoặc trạng thái API key. Chọn Đăng xuất để xóa thông tin xác thực hiện tại.
Chạy codex login status để xem phương thức xác thực đang sử dụng. Với thông tin xác thực
đã lưu, chạy codex logout để xóa thông tin xác thực hiện tại. Khi
tiến trình chọn danh tính khối lượng công việc, Codex từ chối codex login và
codex logout vì môi trường của tiến trình kiểm soát việc xác thực.
Mở menu hồ sơ để xem tài khoản đang hoạt động hoặc trạng thái API key. Chọn Đăng xuất để xóa thông tin xác thực hiện tại.
Sử dụng mã thông báo truy cập Codex cho hoạt động tự động hóa doanh nghiệp
Trong không gian làm việc ChatGPT Enterprise, quản trị viên có thể cấp quyền mã thông báo truy cập để các thành viên được phép có thể tạo mã thông báo truy cập Codex cho những quy trình làm việc Codex cục bộ đáng tin cậy, không tương tác. Hãy sử dụng mã thông báo truy cập khi hoạt động tự động hóa cần quyền truy cập không gian làm việc ChatGPT, quyền sử dụng Codex do ChatGPT quản lý hoặc các biện pháp kiểm soát của không gian làm việc doanh nghiệp mà không cần đăng nhập qua trình duyệt.
Mã thông báo truy cập được dành cho tập lệnh đáng tin cậy, trình lập lịch và trình chạy CI riêng tư. Đối với các lệnh gọi OpenAI API nói chung, hãy tiếp tục sử dụng Platform API key.
Để biết các bước thiết lập, quyền, hướng dẫn xoay vòng và thu hồi, hãy xem Mã thông báo truy cập.
Nếu môi trường của bạn đã cung cấp mã thông báo truy cập Codex, hãy truyền mã đó vào CLI bằng đường ống:
printenv CODEX_ACCESS_TOKEN | codex login --with-access-tokenBảo mật tài khoản Codex cloud của bạn
Codex cloud tương tác trực tiếp với cơ sở mã của bạn, vì vậy sản phẩm cần mức bảo mật cao hơn nhiều tính năng ChatGPT khác. Hãy bật xác thực đa yếu tố (MFA).
Nếu bạn sử dụng nhà cung cấp đăng nhập mạng xã hội (Google, Microsoft, Apple), bạn không bắt buộc phải bật MFA trên tài khoản ChatGPT, nhưng có thể thiết lập tính năng này với nhà cung cấp đăng nhập mạng xã hội của mình.
Để biết hướng dẫn thiết lập, hãy xem:
Nếu bạn truy cập ChatGPT thông qua đăng nhập một lần (SSO), quản trị viên SSO của tổ chức bạn nên thực thi MFA cho tất cả người dùng.
Nếu đăng nhập bằng email và mật khẩu, bạn phải thiết lập MFA trên tài khoản trước khi truy cập Codex cloud.
Nếu tài khoản của bạn hỗ trợ nhiều phương thức đăng nhập và một trong số đó là email cùng mật khẩu, bạn phải thiết lập MFA trước khi truy cập Codex, ngay cả khi đăng nhập theo cách khác.
Lưu thông tin đăng nhập vào bộ nhớ đệm
Khi bạn đăng nhập vào ứng dụng ChatGPT trên máy tính, Codex CLI hoặc tiện ích mở rộng IDE bằng ChatGPT hoặc API key, thông tin đăng nhập của bạn được lưu vào bộ nhớ đệm và sử dụng lại. CLI và tiện ích mở rộng dùng chung thông tin đăng nhập đã lưu vào bộ nhớ đệm. Nếu đăng xuất khỏi một trong hai, bạn sẽ cần đăng nhập lại vào lần tiếp theo khởi động CLI hoặc tiện ích mở rộng.
Codex lưu thông tin đăng nhập vào bộ nhớ đệm cục bộ trong một tệp văn bản thuần túy tại ~/.codex/auth.json hoặc trong kho thông tin xác thực dành riêng cho hệ điều hành của bạn.
Đối với các phiên đăng nhập bằng ChatGPT, Codex tự động làm mới mã thông báo trong quá trình sử dụng trước khi chúng hết hạn, vì vậy các phiên đang hoạt động thường tiếp tục mà không yêu cầu đăng nhập lại qua trình duyệt.
Lưu trữ thông tin xác thực
Sử dụng cli_auth_credentials_store để kiểm soát nơi Codex CLI lưu trữ thông tin xác thực trong bộ nhớ đệm:
# file | keyring | auto | ephemeral
cli_auth_credentials_store = "keyring"filelưu thông tin xác thực trongauth.jsonthuộcCODEX_HOME(mặc định là~/.codex).keyringlưu thông tin xác thực trong kho thông tin xác thực của hệ điều hành và báo lỗi nếu kho này không khả dụng.autodùng kho thông tin xác thực của hệ điều hành khi khả dụng, nếu không thì chuyển sang dùngauth.json.ephemeralchỉ giữ thông tin xác thực trong bộ nhớ cho tiến trình hiện tại.
Xem tài liệu tham chiếu cấu hình để biết toàn bộ
lược đồ config.toml.
Quản trị viên có thể bắt buộc áp dụng cli_auth_credentials_store và chatgpt_base_url thông qua
các yêu cầu xác thực cục bộ.
Người dùng không thể ghi đè các yêu cầu đó thông qua config.toml hoặc các tùy chọn ghi đè của CLI.
Thực thi một phương thức đăng nhập hoặc không gian làm việc
Trong môi trường được quản lý, quản trị viên có thể hạn chế cách người dùng được phép xác thực:
# 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"Nếu thông tin xác thực đang hoạt động không khớp với các hạn chế đã cấu hình, Codex sẽ đăng xuất người dùng và thoát.
Bạn cũng có thể cung cấp các thiết lập này thông qua cấu hình được quản lý kiểu cũ. Để tìm hiểu các hạn chế đăng nhập do quản trị viên bắt buộc áp dụng, hãy xem Quản lý xác thực cục bộ.
Chẩn đoán đăng nhập
Các lần chạy trực tiếp codex login ghi một tệp codex-login.log riêng trong
thư mục nhật ký bạn đã cấu hình. Sử dụng tệp này khi cần gỡ lỗi đăng nhập qua trình duyệt hoặc
mã thiết bị, hoặc khi bộ phận hỗ trợ yêu cầu nhật ký dành riêng cho việc đăng nhập.
CA bundle tùy chỉnh
Nếu mạng của bạn sử dụng proxy TLS của doanh nghiệp hoặc CA gốc riêng, hãy đặt
CODEX_CA_CERTIFICATE thành đường dẫn đến một PEM bundle trước khi đăng nhập. Khi
CODEX_CA_CERTIFICATE chưa được đặt, Codex sẽ dùng SSL_CERT_FILE làm phương án dự phòng. Các
thiết lập CA tùy chỉnh này áp dụng cho việc đăng nhập, các yêu cầu HTTPS thông thường và các kết nối WebSocket
bảo mật.
export CODEX_CA_CERTIFICATE=/path/to/corporate-root-ca.pem
codex loginĐăng nhập trên thiết bị không có giao diện đồ họa
Nếu bạn đăng nhập vào ChatGPT bằng Codex CLI, giao diện đăng nhập qua trình duyệt có thể không hoạt động trong một số trường hợp:
- Bạn đang chạy CLI trong môi trường từ xa hoặc không có giao diện đồ họa.
- Cấu hình mạng cục bộ của bạn chặn lệnh gọi lại localhost mà Codex dùng để trả mã thông báo OAuth về CLI sau khi bạn đăng nhập.
Trong những trường hợp này, hãy ưu tiên xác thực bằng mã thiết bị (beta). Trong giao diện đăng nhập tương tác, chọn Đăng nhập bằng mã thiết bị, hoặc chạy trực tiếp codex login --device-auth. Nếu xác thực bằng mã thiết bị không hoạt động trong môi trường của bạn, hãy dùng một trong các phương thức dự phòng.
Ưu tiên: Xác thực bằng mã thiết bị (beta)
- Bật đăng nhập bằng mã thiết bị trong phần cài đặt bảo mật ChatGPT (tài khoản cá nhân) hoặc phần quyền của không gian làm việc ChatGPT (quản trị viên không gian làm việc).
- Trong cửa sổ dòng lệnh đang chạy Codex, chọn một trong các tùy chọn sau:
- Trong giao diện đăng nhập tương tác, chọn Đăng nhập bằng mã thiết bị.
- Chạy
codex login --device-auth.
- Mở liên kết trong trình duyệt, đăng nhập rồi nhập mã dùng một lần.
Nếu môi trường của bạn không hỗ trợ đăng nhập bằng mã thiết bị, hãy dùng một trong các phương thức dự phòng bên dưới.
Dự phòng: Xác thực trên máy cục bộ và sao chép bộ nhớ đệm xác thực
Nếu có thể hoàn tất quy trình đăng nhập trên một máy có trình duyệt, bạn có thể sao chép thông tin xác thực đã lưu trong bộ nhớ đệm sang máy không có giao diện đồ họa.
- Trên máy có thể sử dụng quy trình đăng nhập qua trình duyệt, chạy
codex login. - Xác nhận bộ nhớ đệm đăng nhập tồn tại tại
~/.codex/auth.json. - Sao chép
~/.codex/auth.jsonvào~/.codex/auth.jsontrên máy không có giao diện đồ họa.
Hãy bảo vệ ~/.codex/auth.json như mật khẩu: tệp này chứa các mã thông báo truy cập. Không commit tệp, dán nội dung tệp vào phiếu hỗ trợ hoặc chia sẻ trong cuộc trò chuyện.
Nếu hệ điều hành của bạn lưu thông tin xác thực trong kho thông tin xác thực thay vì ~/.codex/auth.json, phương thức này có thể không áp dụng được. Xem
Lưu trữ thông tin xác thực để biết cách cấu hình lưu trữ bằng tệp.
Sao chép sang máy từ xa qua SSH:
ssh user@remote 'mkdir -p ~/.codex'
scp ~/.codex/auth.json user@remote:~/.codex/auth.jsonHoặc dùng lệnh một dòng không cần scp:
ssh user@remote 'mkdir -p ~/.codex && cat > ~/.codex/auth.json' < ~/.codex/auth.jsonSao chép vào một container 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"Để xem phiên bản nâng cao của cùng cách làm này trên các trình chạy CI/CD đáng tin cậy, hãy xem
Duy trì xác thực tài khoản Codex trong CI/CD (nâng cao).
Hướng dẫn đó giải thích cách cho phép Codex làm mới auth.json trong các lần chạy thông thường và
sau đó giữ lại tệp đã cập nhật cho tác vụ tiếp theo. API key vẫn là lựa chọn
mặc định được khuyến nghị cho tự động hóa.
Dự phòng: Chuyển tiếp lệnh gọi lại localhost qua SSH
Nếu có thể chuyển tiếp cổng giữa máy cục bộ và máy chủ từ xa, bạn có thể sử dụng quy trình tiêu chuẩn qua trình duyệt bằng cách tạo đường hầm đến máy chủ gọi lại cục bộ của Codex (mặc định là localhost:1455).
- Từ máy cục bộ, bắt đầu chuyển tiếp cổng:
ssh -L 1455:localhost:1455 user@remote- Trong phiên SSH đó, chạy
codex loginrồi mở địa chỉ được hiển thị trên máy cục bộ của bạn.
Nhà cung cấp mô hình thay thế
Khi xác định một nhà cung cấp mô hình tùy chỉnh trong tệp cấu hình, bạn có thể chọn một trong các phương thức xác thực sau:
- Xác thực OpenAI: Đặt
requires_openai_auth = trueđể sử dụng xác thực OpenAI. Sau đó, bạn có thể đăng nhập bằng ChatGPT hoặc API key. Cách này hữu ích khi bạn truy cập các mô hình OpenAI thông qua máy chủ proxy LLM. Khirequires_openai_auth = true, Codex bỏ quaenv_key. - Xác thực bằng biến môi trường: Đặt
env_key = "<ENV_VARIABLE_NAME>"để sử dụng API key riêng của nhà cung cấp từ biến môi trường cục bộ có tên<ENV_VARIABLE_NAME>. - OAuth gốc cho cổng: Cấu hình
[model_providers.<id>.gateway_oauth]để đăng nhập qua trình duyệt bằng nhà cung cấp danh tính của tổ chức. Cơ chế này hoạt động cả khi có và không đăng nhập ChatGPT. Xem OAuth gốc cho cổng để biết các yêu cầu và cấu hình của cổng. - Xác thực dựa trên lệnh: Cấu hình
[model_providers.<id>.auth]để lấy token từ trình hỗ trợ thông tin xác thực đã cài đặt. - Không xác thực: Với mô hình cục bộ không yêu cầu thông tin xác thực, hãy để
requires_openai_authchưa được đặt hoặcfalsevà bỏ qua các cài đặt thông tin xác thực, bao gồmenv_key,experimental_bearer_token,authvàgateway_oauth.