Tài liệu
Tham Chiếu API
Tham Chiếu API
Tài liệu chi tiết các endpoint, tham số yêu cầu và cấu trúc phản hồi của máy chủ OAuth 2.0.
1. Endpoint Phân Quyền (Authorize Endpoint)
URL:
https://accounts.lequangkhai.id.vn/authorizePhương thức: GET
| Tham Số | Kiểu | Bắt Buộc | Mô Tả | Giá Trị Mẫu |
|---|---|---|---|---|
client_id |
string | Có | Định danh client đã đăng ký trong hệ thống | client_7a8b9c... |
response_type |
string | Có | Luôn là giá trị cố định code |
code |
redirect_uri |
string | Có | URL callback nhận mã (phải khớp chính xác) | https://myapp.com/callback |
scope |
string | Tùy chọn | Các quyền hạn yêu cầu (cách nhau bởi khoảng trắng) | openid profile email |
state |
string | Có | Chuỗi ngẫu nhiên phòng chống tấn công CSRF | xyz987_state_rand |
Phản Hồi Thành Công
Máy chủ chuyển hướng trình duyệt về redirect_uri:
HTTP/1.1 302 Found
Location: https://myapp.com/callback?code=AUTH_CODE_VALUE&state=xyz987_state_rand
2. Endpoint Mã Thông Báo (Token Endpoint)
URL:
https://accounts.lequangkhai.id.vn/api/tokenPhương thức: POST
Content-Type:
application/x-www-form-urlencodedTrao Đổi Mã Lấy Access Token (grant_type=authorization_code)
| Tham Số | Kiểu | Bắt Buộc | Mô Tả |
|---|---|---|---|
grant_type |
string | Có | Phải là authorization_code |
code |
string | Có | Mã ủy quyền nhận được từ bước authorize |
client_id |
string | Có | Định danh client của ứng dụng |
client_secret |
string | Tùy client | Bắt buộc với Confidential Clients, không áp dụng cho Public Clients |
redirect_uri |
string | Có | Phải trùng khớp với redirect_uri đã gửi trong bước authorize |
Làm Mới Access Token (grant_type=refresh_token)
| Tham Số | Kiểu | Bắt Buộc | Mô Tả |
|---|---|---|---|
grant_type |
string | Có | Phải là refresh_token |
refresh_token |
string | Có | Mã refresh token đã nhận trước đó |
client_id |
string | Có | Định danh client của ứng dụng |
Phản Hồi Thành Công (HTTP 200 OK)
{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "Bearer",
"expires_in": 3600,
"refresh_token": "rt_9876543210abcdef",
"scope": "openid profile email"
}
3. Endpoint Thông Tin Người Dùng (UserInfo Endpoint)
URL:
https://accounts.lequangkhai.id.vn/api/userinfoPhương thức: GET
Tiêu đề bắt buộc:
Authorization: Bearer <ACCESS_TOKEN>Phản Hồi Thành Công (HTTP 200 OK)
{
"sub": "1042",
"username": "nguyenvana",
"email": "[email protected]",
"email_verified": true,
"name": "Nguyễn Văn A",
"avatar_url": "https://example.com/avatar.jpg"
}
Phản Hồi Khi Lỗi (HTTP 401 Unauthorized)
{
"error": "invalid_token",
"error_description": "Mã thông báo không hợp lệ hoặc đã hết hạn truy cập."
}
Mã Trạng Thái HTTP (Status Codes)
| HTTP Code | Ý Nghĩa | Mô Tả Kỹ Thuật |
|---|---|---|
200 |
OK | Yêu cầu hoàn tất thành công, dữ liệu JSON đính kèm trong body. |
302 |
Found | Chuyển hướng trình duyệt tới địa chỉ callback hoặc màn hình đăng nhập. |
400 |
Bad Request | Tham số gửi lên bị thiếu, sai kiểu dữ liệu hoặc không hợp lệ. |
401 |
Unauthorized | Token truy cập bị thiếu, không hợp lệ hoặc đã quá hạn. |
500 |
Server Error | Lỗi nội bộ hệ thống hoặc sự cố cơ sở dữ liệu. |
Cập nhật gần nhất: Tháng 10, 2025
Lên đầu trang