~/VibeHandbook
PDF miễn phí

Chương 04 · 06

Khóa API và header xác thực

Hầu hết các hữu ích không mở cho cả thế giới. Công ty cần biết ai đang hỏi, để họ có thể theo dõi mức sử dụng và tính phí bạn. Họ cấp cho bạn một khóa API (API key) — một chuỗi bí mật dài nhận diện tài khoản của bạn. Bạn đính kèm nó vào mỗi request, thường trong một header gọi là Authorization, giống như dòng Bearer sk_live_... ở trên.

Hãy đối xử với một khóa API y hệt như một mật khẩu, vì đó chính là bản chất của nó. Bất kỳ ai có nó đều có thể gửi request nhân danh bạn — và làm phình hóa đơn của bạn hoặc đọc dữ liệu của bạn. Điều này liên quan trực tiếp đến chương về bảo mật, và có một quy tắc quan trọng nhất:

  • Không bao giờ đặt khóa API trong code chạy trên trình duyệt. Bất cứ thứ gì trong đều công khai — người dùng có thể mở dev tools và đọc nó. AI, khi được yêu cầu "gọi API từ trang," sẽ vui vẻ dán khóa bí mật của bạn ngay tại đó. Hãy ngăn nó lại. Khóa bí mật thuộc về máy chủ (server).
  • Không bao giờ một khóa vào . Ngay cả khi bạn xóa nó sau đó, nó vẫn tồn tại mãi mãi trong lịch sử, và các bot quét các repo công khai để tìm khóa trong vòng vài phút.
  • Lưu khóa trong biến môi trường (), không phải trong chính code — cùng một mẫu hình mà chương bảo mật đã đề cập.

Khóa phải di chuyển từ một nơi an toàn, không bao giờ từ trình duyệt. Hãy hình dung hai con đường — một an toàn, một là một cuộc rò rỉ:

   SAFE ✓                                  LEAK ✗
   ┌──────────┐  key   ┌──────────┐        ┌──────────┐  key  ┌──────────┐
   │  SERVER  │ ─────▶ │   API    │        │ BROWSER  │ ────▶ │   API    │
   │ (your    │ stays  │          │        │ (anyone  │       │          │
   │  backend)│ hidden │          │        │  can     │       │          │
   └──────────┘        └──────────┘        │  read it)│       └──────────┘
   key in env var                          └──────────┘
                                           key in frontend = public

Nếu bạn từng thấy một khóa thật nằm trong một diff, trong một file frontend, hoặc trong một tin nhắn chat, hãy coi nó như đã bị rò rỉ: xoay vòng nó (rotate — tạo một khóa mới, vô hiệu hóa khóa cũ) ngay lập tức.

Muốn bản ngoại tuyến?

Tải trọn cuốn sách dưới dạng PDF hoặc EPUB — miễn phí.