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:
- Người dùng đăng nhập để lấy
access_token
(Sanctum). - Gọi API kèm
Authorization: Bearer
. - Nếu endpoint yêu cầu, gửi thêm
apiconnection
/apikey
.
- Người dùng đăng nhập để lấy
- API core:
- Quản trị viên đăng nhập để lấy
access_token
(Sanctum). - Gọi API kèm
Authorization: Bearer
và bắt buộcapiconnection
/apikey
(tùy cấu hình).
- Quản trị viên đăng nhập để lấy
Lấy access_token
- Customer (API front):
- Method: POST
https://{domain}/api/front/login
- Body (JSON):
email
,password
,remember_me
(boolean, tùy chọn)
- Method: POST
- Admin (API core):
- Method: POST
https://{domain}/api/core/login
- Body (JSON):
username
,password
,remember_me
(boolean, tùy chọn)
- Method: POST
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
.env
:GP247_API_MODE=0
API sequence: