Skip to content

Xác thực

AstroAPI hỗ trợ nhiều phương thức xác thực tùy thuộc vào trường hợp sử dụng của bạn.

Xác thực bằng API Key

API key là phương thức được khuyến nghị cho giao tiếp giữa các máy chủ.

Lấy API Key

  1. Đăng nhập vào AstroAPI Dashboard
  2. Điều hướng đến Settings > API Keys
  3. Nhấn Create API Key
  4. Cấu hình quyền hạn và giới hạn tốc độ
  5. Sao chép key được tạo ra (key sẽ không được hiển thị lại)

Sử dụng API Key

Thêm API key của bạn vào header X-Api-Key:

bash
curl -X GET "https://api.astroapi.cloud/api/calc/natal" \
  -H "X-Api-Key: ak_live_xxxxxxxxxxxx"

Quyền hạn API Key

API key có thể được giới hạn cho các quyền hạn cụ thể:

Quyền hạnMô tả
calc:readTruy cập các endpoint tính toán
content:readTruy cập các endpoint nội dung/giải thích
chart:readTruy cập các endpoint hiển thị lá số
modules:readTruy cập các module đã mua

Vai trò

AstroAPI sử dụng kiểm soát truy cập dựa trên vai trò trong các tổ chức:

Vai tròMô tả
ownerToàn quyền truy cập vào tất cả tính năng của tổ chức
managerCó thể quản lý người dùng, thanh toán và nội dung
memberTruy cập cơ bản để tính toán và đọc nội dung

Quyền hạn theo Vai trò

Quyền hạnownermanagermemberMô tả
org:createTạo tổ chức
org:readĐọc thông tin tổ chức
org:updateCập nhật tổ chức
org:users:readĐọc danh sách người dùng
org:users:createMời người dùng
org:users:updateCập nhật người dùng
org:users:deleteXóa người dùng
billing:readXem thông tin thanh toán
billing:manageQuản lý thanh toán
content:readĐọc nội dung
content:createTạo nội dung
content:updateCập nhật nội dung
content:deleteXóa nội dung
content:custom-copyTạo bản sao tùy chỉnh
content:restoreKhôi phục nội dung
calc:useSử dụng các endpoint tính toán
chart:useSử dụng các endpoint lá số
modules:readĐọc thông tin module
admin:accessTruy cập quản trị

Ngữ cảnh Tổ chức

Đối với các ứng dụng đa người thuê, API key được gắn với các tổ chức. Ngữ cảnh tổ chức được áp dụng tự động dựa trên API key được sử dụng.

Hạn chế Tên miền

API key có thể được cấu hình với hạn chế tên miền để giới hạn những website nào có thể sử dụng chúng:

  • example.com - Khớp tên miền chính xác
  • *.example.com - Tất cả tên miền phụ
  • * - Cho phép tất cả tên miền (không khuyến nghị)

Cấu hình hạn chế tên miền trong dashboard khi tạo hoặc chỉnh sửa API key.

Hạn chế Quan trọng

Hạn chế tên miền chỉ bảo vệ khỏi lạm dụng trên trình duyệt. Chúng phụ thuộc vào header OriginReferer, mà trình duyệt thực thi nhưng có thể dễ dàng giả mạo bên ngoài trình duyệt (ví dụ: curl, script, mã phía máy chủ).

Sử dụng Phía Máy khách vs Phía Máy chủ

Máy chủ-đến-Máy chủ (Khuyến nghị)

Đối với các ứng dụng sản xuất, luôn sử dụng API key trên máy chủ backend của bạn:

┌─────────────┐      ┌─────────────────┐      ┌─────────────┐
│   Browser   │ ───► │  Your Backend   │ ───► │  AstroAPI   │
│  (no keys)  │      │  (API key here) │      │             │
└─────────────┘      └─────────────────┘      └─────────────┘

Phương pháp này:

  • Giữ API key của bạn an toàn và được ẩn
  • Cho phép bạn thêm lớp xác thực riêng
  • Ngăn người dùng cuối trích xuất API key
  • Cho phép ký yêu cầu và các biện pháp bảo mật bổ sung

Sử dụng Phía Máy khách / Trình duyệt

Nếu bạn phải sử dụng API key trực tiếp trong trình duyệt (ví dụ: widget nhúng trên các trang web tĩnh), hãy lưu ý các hạn chế sau:

  • API key hiển thị trong mã nguồn JavaScript và các yêu cầu mạng
  • Bất kỳ ai cũng có thể trích xuất key từ website của bạn
  • Hạn chế tên miền chỉ ngăn các website khác sử dụng key của bạn qua JavaScript - chúng không ngăn ai đó sao chép key và sử dụng ở nơi khác

Đối với sử dụng phía máy khách, chúng tôi khuyến nghị:

  • Bật hạn chế tên miền
  • Đặt giới hạn tốc độ nghiêm ngặt
  • Sử dụng thời gian hết hạn ngắn
  • Giám sát việc sử dụng để phát hiện bất thường

Trách nhiệm của Khách hàng

Quan trọng

Bạn có trách nhiệm về bảo mật và việc sử dụng API key của mình.

Tất cả các yêu cầu API được thực hiện bằng API key của bạn đều tính vào hạn mức và được tính phí vào tài khoản của bạn, bất kể các yêu cầu được thực hiện bởi bạn hay bởi người đã lấy được key của bạn.

Nếu bạn để lộ API key trong mã phía máy khách và nó bị lạm dụng, bạn chịu trách nhiệm về việc sử dụng và chi phí phát sinh. AstroAPI không thể phân biệt giữa các yêu cầu hợp lệ và các yêu cầu trái phép được thực hiện bằng API key hợp lệ.

Để giảm thiểu rủi ro:

  1. Sử dụng giao tiếp máy chủ-đến-máy chủ bất cứ khi nào có thể
  2. Không bao giờ commit API key vào hệ thống kiểm soát phiên bản
  3. Xoay vòng key ngay lập tức nếu bạn nghi ngờ chúng đã bị xâm phạm
  4. Thiết lập cảnh báo sử dụng để phát hiện các đột biến bất thường

Thực hành Bảo mật Tốt nhất

  • Sử dụng giao tiếp máy chủ-đến-máy chủ cho các ứng dụng sản xuất
  • Không bao giờ để lộ API key trong mã phía máy khách trừ khi thực sự cần thiết
  • Xoay vòng API key định kỳ
  • Sử dụng quyền hạn tối thiểu cần thiết
  • Bật hạn chế tên miền cho các key phía máy khách
  • Đặt giới hạn tốc độ phù hợp
  • Giám sát việc sử dụng API key trong dashboard

AstroAPI Documentation