Tổng quan

  • Nền tảng: GP247 sử dụng Laravel và xác thực bằng Laravel Sanctum.
  • Bảo mật: Ngoài access_token của Sanctum, GP247 bổ sung một lớp bảo mật qua cặp apiconnection/apikey.

Phân loại API

  • API front: Dữ liệu công khai, hoặc cần đăng nhập bằng tài khoản người dùng (customer).
  • API core: Dữ liệu quản lý, chỉ dành cho quản trị viên (admin) và yêu cầu xác thực nâng cao.

Cơ chế xác thực

  • Access Token (Sanctum):
    • Dùng cho cả front và core để xác định danh tính customer/admin.
    • Gửi trong header dưới dạng Bearer token.
  • Lớp bảo mật bổ sung (tùy chọn): apiconnection/apikey:
    • Một cặp định danh/khóa bí mật dùng kèm access_token để tăng mức độ an toàn.
    • Lưu ý apiconnection/apikey sẽ áp dụng cho tất cả endpoint nếu được kích hoạt .

Tiêu đề HTTP khuyến nghị

Authorization: Bearer 
apiconnection: 
apikey: 

Luồng xác thực cơ bản

  • API front:
    1. Người dùng đăng nhập để lấy access_token (Sanctum).
    2. Gọi API kèm Authorization: Bearer .
    3. Nếu endpoint yêu cầu, gửi thêm apiconnection/apikey.
  • API core:
    1. Quản trị viên đăng nhập để lấy access_token (Sanctum).
    2. Gọi API kèm Authorization: Bearer  và bắt buộc apiconnection/apikey (tùy cấu hình).

Lấy access_token

  • Customer (API front):
    • Method: POST https://{domain}/api/front/login
    • Body (JSON): emailpasswordremember_me (boolean, tùy chọn)
  • Admin (API core):
    • Method: POST https://{domain}/api/core/login
    • Body (JSON): usernamepasswordremember_me (boolean, tùy chọn)

Quản lý bảo mật apiconnection

  • Truy cập: Admin -> API Manager -> API Config

Vô hiệu hóa API

  • Cấu hình trong tệp .envGP247_API_MODE=0


API sequence:

API sequence

API sequence