Di chuyển URL cơ sở và SDK26 tháng 10, 2026Cxj

Cách lấy khóa API OpenAI và khắc phục lỗi 401 “Invalid API Key”

Chẩn đoán an toàn lỗi 401 khóa API OpenAI không hợp lệ, gồm endpoint sai, secret cũ, khóa bị thu hồi, kiểm soát dự án và danh sách cho phép IP.

Cách lấy khóa API OpenAI và khắc phục lỗi 401 “Invalid API Key”

Lỗi OpenAI 401 là một vấn đề xác thực, nhưng không phải lúc nào cũng có cùng một ý nghĩa. Cách khắc phục nhanh nhất là xác định hostname của yêu cầu, xác nhận tiến trình đang chạy thực sự đã tải secret nào, rồi dùng phần nội dung lỗi để phân biệt khóa sai với khóa đã bị thu hồi, thông tin xác thực gateway không khớp hoặc bị chặn bởi danh sách cho phép IP.

Nếu bạn đang tìm cách lấy khóa API OpenAI vì một yêu cầu vừa thất bại, đừng mù quáng dán một secret mới vào cùng cấu hình đó. Trước hết, hãy xác định yêu cầu đang đi tới api.openai.com hay một gateway tương thích OpenAI. Hai endpoint này có thể yêu cầu thông tin xác thực khác nhau.

Không bao giờ dán toàn bộ khóa API vào ticket, cuộc trò chuyện, ảnh chụp màn hình, log hoặc danh sách kiểm tra này. Thay vào đó, hãy so sánh fingerprint được tạo an toàn hoặc hậu tố đã được che mà nhà cung cấp hiển thị.

“Invalid API key” có nghĩa là gì?

Điều đó có nghĩa là dịch vụ nhận yêu cầu không thể xác thực thông tin xác thực được cung cấp cho yêu cầu đó. Với yêu cầu trực tiếp đến OpenAI, lỗi chính thức có thể ghi Incorrect API key provided. Các bước kiểm tra đầu tiên của OpenAI là so sánh khóa đã được che trong lỗi với khóa dự kiến, đảm bảo ứng dụng không chuyển đổi giữa hai khóa, và xác nhận cấu hình tổ chức chính xác khi được yêu cầu. Hướng dẫn về khóa không chính xác của OpenAI là nguồn tham chiếu chính xác cho thông báo đó.

Chỉ riêng trạng thái HTTP là không đủ để chẩn đoán nguyên nhân. Ví dụ, OpenAI ghi rõ rằng yêu cầu bị chặn bởi danh sách cho phép IP sẽ trả về HTTP 401 với loại lỗi ip_not_authorized—ngay cả khi khóa hợp lệ. Hãy đọc nội dung lỗi trước khi xoay vòng bất cứ thứ gì. Hướng dẫn về danh sách cho phép IP của OpenAI giải thích sự khác biệt này.

Danh sách kiểm tra chẩn đoán trong năm phút

Thực hiện các bước kiểm tra này theo thứ tự. Dừng lại khi bằng chứng chỉ ra nguyên nhân; thay đổi nhiều thứ cùng lúc sẽ khiến việc chứng minh một cách khắc phục hiệu quả trở nên khó khăn.

Kiểm tra Nội dung cần kiểm tra an toàn Kết luận có khả năng xảy ra Bước tiếp theo
1. Host yêu cầu Hostname sau khi chuyển hướng, ví dụ api.openai.com so với miền gateway Một khóa OpenAI trực tiếp đã được gửi tới nhà cung cấp khác, hoặc ngược lại Sử dụng thông tin xác thực do đơn vị vận hành endpoint cấp
2. Nội dung lỗi chính xác Thông báo lỗi, type và code—không bao giờ dùng toàn bộ secret Khóa sai/đã thu hồi, bị chặn IP hoặc quy tắc xác thực riêng của nhà cung cấp Theo nhánh bên dưới khớp với nội dung lỗi
3. Nguồn secret khi chạy Môi trường tiến trình, tham chiếu secret triển khai, tên secret CI hoặc phiên bản container Một giá trị cũ, rỗng, bị cắt ngắn hoặc được đặt trong dấu nháy vẫn đang chạy Cập nhật nguồn secret đang hoạt động và chủ động khởi động lại/tái triển khai
4. Vòng đời khóa Khóa có bị xóa, thu hồi, lộ hoặc cấu hình hết hạn hay không Khóa gốc không còn có thể xác thực Tạo khóa thay thế và xoay vòng khóa đó an toàn
5. Dự án và quyền Tư cách thành viên dự án, dự án dự kiến và quyền của khóa Khóa tồn tại nhưng không có quyền truy cập mà yêu cầu cần Sử dụng khóa dự án dự kiến hoặc yêu cầu chủ sở hữu điều chỉnh quyền truy cập
6. Kiểm soát mạng IP đi ra và cấu hình danh sách cho phép IP của OpenAI ip_not_authorized hoặc thay đổi IP hạ tầng Cập nhật danh sách cho phép; chờ thời gian áp dụng trước khi kiểm tra lại

1. Xác nhận endpoint trước khi động vào khóa

Đây là bước kiểm tra quan trọng nhất khi SDK có base_url có thể cấu hình.

  • Một yêu cầu tới https://api.openai.com/... cần thông tin xác thực API OpenAI.
  • Một yêu cầu tới gateway hoặc proxy cần thông tin xác thực và định dạng xác thực mà gateway đó quy định.
  • Một yêu cầu có thể trông “tương thích OpenAI” trong mã nhưng vẫn được gửi tới một host không phải OpenAI.

Cách lấy khóa API OpenAI chỉ liên quan sau khi bạn xác nhận yêu cầu thực sự đang đi tới OpenAI. Nếu host là gateway, việc tạo một khóa OpenAI mới sẽ không khắc phục lỗi 401 từ gateway đó. Hãy so sánh hostname đã cấu hình, URL cơ sở SDK, biến triển khai và mọi cấu hình proxy; không ghi log header Authorization khi thực hiện việc này.

Với thiết lập định tuyến đa mô hình, hãy giữ cấu hình endpoint và khóa cùng nhau. Hướng dẫn khắc phục sự cố API tương thích OpenAI toàn diện hơn đề cập đến URL cơ sở, tên mô hình, streaming và các bước kiểm tra dành riêng cho định tuyến sau khi kiểm tra thông tin xác thực trực tiếp này thành công.

2. Xác minh ứng dụng đang tải một secret dự kiến

Các nguyên nhân phổ biến của lỗi “invalid API key” là những sai sót cấu hình thông thường:

  • OPENAI_API_KEY chưa được đặt trong tiến trình đang chạy dù nó tồn tại trên laptop của bạn.
  • Một bản triển khai vẫn tham chiếu đến phiên bản secret cũ hơn.
  • Tệp .env không được tải trong môi trường thực sự thực hiện yêu cầu.
  • Giá trị có chứa dấu nháy, khoảng trắng, ngắt dòng hoặc placeholder được sao chép ngoài ý muốn.
  • Một nhánh mã sử dụng mặc định của thư viện trong khi nhánh khác ghi đè khóa hoặc URL cơ sở.

Sử dụng fingerprint không thể đảo ngược trong môi trường gỡ lỗi riêng tư. Điều này cho phép bạn so sánh các tiến trình khác nhau đã tải secret nào mà không in ra chính secret đó:

import crypto from "node:crypto";

const key = process.env.OPENAI_API_KEY?.trim();

if (!key) {
  throw new Error("OPENAI_API_KEY is not set in this process");
}

const fingerprint = crypto
  .createHash("sha256")
  .update(key)
  .digest("hex")
  .slice(0, 12);

console.info({ keyConfigured: true, keyLength: key.length, fingerprint });

So sánh dấu vân tay giữa môi trường phát triển cục bộ, CI, staging, worker và production. Không so sánh hoặc lưu trữ toàn bộ khóa.

3. Kiểm tra một yêu cầu trực tiếp bằng cùng môi trường thời gian chạy

Chạy một yêu cầu tối thiểu từ chính máy, container hoặc job đang gặp lỗi. Việc này tách riêng quá trình tải thông tin xác thực khỏi logic ứng dụng. Lệnh sau sử dụng header bearer tiêu chuẩn nhưng cố ý giữ khóa trong một biến môi trường:

curl https://api.openai.com/v1/models \
  -H "Authorization: Bearer $OPENAI_API_KEY"

Diễn giải kết quả cẩn thận:

  • Cùng lỗi 401 từ cùng môi trường thời gian chạy cho thấy nguyên nhân nằm ở thông tin xác thực, endpoint, cài đặt tổ chức/dự án hoặc chính sách mạng.
  • Phản hồi thành công cho thấy vấn đề ở cấu hình ứng dụng: môi trường thời gian chạy khác, ghi đè base URL, tạo client trùng lặp hoặc biến môi trường khác.
  • Phản hồi ip_not_authorized là vấn đề về danh sách cho phép IP, không phải bằng chứng rằng nội dung khóa không hợp lệ.

Không thay thế kiểm tra này bằng một yêu cầu từ trình duyệt. OpenAI khuyến cáo không triển khai khóa API trong trình duyệt hoặc ứng dụng di động vì chúng có thể bị lộ và bị người khác sử dụng. Thay vào đó, hãy gửi yêu cầu thông qua backend của riêng bạn. Hướng dẫn an toàn khóa API của OpenAI giải thích lý do.

4. Kiểm tra xem khóa có bị thu hồi, xóa, lộ hoặc hết hạn hay không

Bí mật API OpenAI chỉ được hiển thị đầy đủ tại thời điểm tạo. Nếu bạn không lưu bí mật đó, bạn không thể khôi phục nó từ bảng điều khiển; hãy tạo khóa mới và cập nhật ứng dụng. Các khóa đã xóa không thể sử dụng. Bài viết về quản lý khóa của OpenAI xác nhận cả hai hành vi này.

Nếu bạn đang thiết lập một tích hợp mới thay vì khắc phục sự cố, hãy sử dụng hướng dẫn triển khai khóa API Open AI đi kèm để có danh sách kiểm tra rộng hơn về thiết lập, bảo mật và vận hành.

Hãy coi những sự kiện này là lý do để luân phiên khóa, thay vì thử lại vô thời hạn:

  • Khóa đã bị xóa hoặc cố ý thu hồi.
  • Khóa có thể đã được commit vào một kho lưu trữ, gửi trong tin nhắn, nhúng vào ứng dụng client hoặc bị lộ theo cách khác. OpenAI cho biết họ vô hiệu hóa các khóa mà họ phát hiện trên internet công khai hoặc bị rò rỉ bên trong một ứng dụng trên kho ứng dụng.
  • Một khóa dự án được tạo với ngày hết hạn và ngày đó đã qua.
  • Một bản triển khai tham chiếu đến khóa cũ sau khi luân phiên khóa theo kế hoạch.

Để thay thế, hãy tạo khóa mới trong dự án dự kiến, ghi khóa vào kho lưu trữ bí mật phù hợp, triển khai, xác nhận một yêu cầu tối thiểu, rồi thu hồi khóa cũ. OpenAI khuyến nghị đặt ngày hết hạn và thực hiện quy trình luân phiên thường xuyên; họ cũng khuyến nghị sử dụng các khóa riêng biệt thay vì thông tin xác thực dùng chung cho nhóm. Xem các khuyến nghị an toàn hiện tại.

5. Kiểm tra tư cách thành viên dự án và quyền của khóa

Nếu bạn có thể tạo hoặc xem một khóa nhưng workload của nhóm vẫn thất bại, hãy kiểm tra ranh giới dự án trước khi cho rằng bí mật bị định dạng sai. Các dự án OpenAI quản lý khóa API, thành viên, tài khoản dịch vụ, quyền truy cập mô hình và giới hạn chi tiêu. Các khóa do người dùng sở hữu có thể được đặt quyền đầy đủ, hạn chế hoặc chỉ đọc. Hướng dẫn về dự án của OpenAI ghi lại các biện pháp kiểm soát hiện có.

Hãy đặt các câu hỏi sau:

  1. Khóa có thuộc cùng dự án với tài nguyên của ứng dụng và mục đích sử dụng dự kiến không?
  2. Tài khoản dịch vụ hoặc người dùng vẫn là thành viên của dự án đó chứ?
  3. Khóa có quyền endpoint/tài nguyên mà lệnh gọi cần không?
  4. Nếu lỗi xác định một tổ chức, client có được cấu hình cho tổ chức dự kiến thay vì một tổ chức cũ không?

Các vấn đề về quyền và dự án có thể có thông báo cụ thể hơn hoặc mã trạng thái khác với Incorrect API key provided. Hãy lưu lại ID yêu cầu và phần nội dung đã được làm sạch của lỗi để gửi cho chủ sở hữu nền tảng hoặc Bộ phận hỗ trợ OpenAI thay vì phỏng đoán.

6. Loại trừ vấn đề danh sách cho phép IP trước khi luân phiên một khóa hợp lệ

Một tổ chức OpenAI có thể giới hạn lưu lượng API đối với các dải IP được phê duyệt. Yêu cầu từ bất kỳ địa chỉ nào khác sẽ bị từ chối với HTTP 401 và ip_not_authorized, ngay cả khi thông tin xác thực là hợp lệ. Điều này khiến đây trở thành lỗi 401 đặc biệt dễ chẩn đoán nhầm.

Nếu loại lỗi là ip_not_authorized:

  1. Xác định IP đi ra thực tế của workload — không phải IP công khai của laptop nhà phát triển.
  2. So sánh IP đó với danh sách cho phép đã cấu hình và kiểm tra xem cloud NAT, địa chỉ đi ra của serverless hoặc proxy có thay đổi hay không.
  3. Cập nhật dải được phép thông qua các biện pháp kiểm soát tổ chức phù hợp.
  4. Chờ hết khoảng thời gian lan truyền đã được ghi nhận trước khi chạy lại kiểm tra tối thiểu.

Giữ nguyên khóa cho đến khi loại trừ được nhánh nguyên nhân này. Luân phiên một khóa hợp lệ chỉ làm tăng thêm một biến số thứ hai cho sự cố.

Cách lấy khóa API OpenAI sau lỗi 401

Nếu bằng chứng cho thấy thông tin xác thực bị thiếu, đã bị xóa, bị lộ hoặc hết hạn, hãy thực hiện quy trình khôi phục ngắn gọn này:

  1. Mở trang khóa API OpenAI trong tổ chức và dự án dự định sử dụng.
  2. Tạo một khóa bí mật mới với mức truy cập tối thiểu phù hợp với khối lượng công việc.
  3. Lưu khóa trực tiếp vào trình quản lý bí mật phía máy chủ hoặc bí mật triển khai; không đưa khóa vào mã trình duyệt, tệp .env đã được commit hoặc tài liệu dùng chung.
  4. Cập nhật một môi trường trước và chạy yêu cầu trực tiếp tối thiểu.
  5. Triển khai thay đổi cho các môi trường còn lại và xác nhận dấu vân tay đã thay đổi tại những nơi dự kiến.
  6. Chỉ thu hồi khóa trước đó sau khi xác minh khóa thay thế, trừ khi khóa cũ bị lộ—trong trường hợp đó, hãy thu hồi ngay lập tức và điều tra việc sử dụng.

Đây là cách lấy khóa API OpenAI an toàn để khôi phục. Đây không phải là lý do để chia sẻ một khóa giữa các thành viên nhóm hoặc môi trường. Hãy sử dụng thông tin xác thực riêng theo dự án/người dùng hoặc tài khoản dịch vụ để lỗi 401 trong tương lai có phạm vi ảnh hưởng nhỏ hơn.

Lỗi 401 riêng của gateway cần một câu hỏi khác

Khi một cơ sở mã sử dụng SDK tương thích OpenAI với base_url tùy chỉnh, hãy bắt đầu bằng câu hỏi: Dịch vụ nào đã nhận yêu cầu? Gateway có thể trả về lỗi 401 của riêng nó trước khi gửi bất cứ thứ gì lên OpenAI. Trong trường hợp đó, hãy xác thực thông tin xác thực gateway, tenant/không gian làm việc, URL cơ sở API và mã định danh mô hình trong tài liệu riêng của gateway.

Sau khi yêu cầu được xác thực, hãy dùng hướng dẫn nhanh Flatkey API để thiết lập router tương thích tập trung, hoặc quay lại hướng dẫn khắc phục sự cố API tương thích OpenAI để kiểm tra mô hình, streaming và URL cơ sở. Hãy giữ khóa OpenAI trực tiếp và khóa gateway trong các biến bí mật được đặt tên riêng biệt để sự cố trong tương lai hiển nhiên từ cấu hình thay vì phải thử và sai.

Trước khi đóng sự cố

  • [ ] Tên máy chủ và base_url khớp với bên cấp thông tin xác thực.
  • [ ] Quy trình sản xuất đã tải dấu vân tay bí mật dự kiến.
  • [ ] Khóa chưa bị xóa, thu hồi, lộ hoặc hết hạn.
  • [ ] Thành viên dự án và quyền của khóa phù hợp với khối lượng công việc.
  • [ ] ip_not_authorized đã được loại trừ hoặc danh sách cho phép đã được cập nhật.
  • [ ] Một yêu cầu tối thiểu hoạt động từ runtime bị lỗi.
  • [ ] Không có thông tin xác thực đầy đủ nào xuất hiện trong nhật ký, kiểm soát mã nguồn, phiếu yêu cầu hoặc chat.
  • [ ] Khóa cũ chỉ được thu hồi sau khi xác minh khóa thay thế, trừ khi nó đã bị lộ.

Cách lấy khóa API OpenAI là một tác vụ thiết lập hữu ích; chẩn đoán máy chủ, nguồn bí mật, vòng đời và chính sách mạng mới là điều biến việc sửa lỗi 401 thành một bản sửa chữa sản xuất bền vững.

Các câu hỏi thường gặp

Khóa API không hợp lệ có nghĩa là gì trong OpenAI?

Điều đó có nghĩa là dịch vụ xử lý yêu cầu không thể xác thực thông tin xác thực được cung cấp. Với thông báo chính xác Incorrect API key provided, hãy so sánh khóa dự định với giá trị được che trong lỗi, đảm bảo ứng dụng không sử dụng hai khóa và kiểm tra cấu hình tổ chức chính xác. Một loại lỗi khác như ip_not_authorized cho biết nguyên nhân khác.

Làm cách nào để lấy khóa API OpenAI nếu khóa cũ không còn hoạt động?

Tạo khóa bí mật mới trong dự án OpenAI dự định sử dụng, lưu khóa trong kho lưu trữ bí mật phía máy chủ, cập nhật bản triển khai đang hoạt động và xác minh một yêu cầu tối thiểu trước khi thu hồi khóa cũ. Bạn không thể lấy lại toàn bộ giá trị của khóa hiện có sau khi màn hình tạo khóa đã đóng.

Tôi có thể sửa lỗi 401 của OpenAI bằng cách đặt khóa mới trong JavaScript trên trình duyệt không?

Không. Trình duyệt hoặc ứng dụng di động không phải là nơi phù hợp cho bí mật của nhà cung cấp. Hãy định tuyến yêu cầu qua backend của bạn và lưu bí mật trong cấu hình phía máy chủ hoặc trình quản lý bí mật.

Tại sao một khóa OpenAI hợp lệ lại trả về lỗi 401 ip_not_authorized?

Danh sách cho phép IP của OpenAI có thể từ chối yêu cầu từ một địa chỉ không nằm trong danh sách cho phép của tổ chức. Hãy kiểm tra IP đi ra thực tế của máy chủ hoặc khối lượng công việc đám mây, sau đó so sánh với các dải IP đã cấu hình.

Tại sao khóa OpenAI mới không sửa được lỗi 401 của gateway?

Một endpoint gateway có thể yêu cầu khóa API và cấu hình riêng. Hãy xác nhận tên máy chủ của yêu cầu và dùng thông tin xác thực do đơn vị vận hành endpoint đó cấp; khóa OpenAI trực tiếp không xác thực yêu cầu tới mọi API tương thích OpenAI.

Nguồn chính thức