

ACB sử dụng phương thức Bearer token hay hay còn được gọi là token authentication, có thể hiểu đơn giản là “cấp quyền truy cập cho người mang token này”. Bearer token sẽ cho phép truy cập đến một số tài nguyên hoặc url nhất định và thường là một chuỗi string được mã hóa, được sinh ra bởi server trong response để thực hiện request login.
Khi thực hiện bằng phương thức này thì client phải gửi bearer token này trong header để thực hiện request
Cấu trúc header:
Authorization: Bearer <token>

Khi user gửi yêu cầu đến server để lấy một token bằng thông tin username, password thông qua SSL, server sẽ trả về một chuỗi access token. Access token này chính là Bearer token mà client cần phải gửi vào header nếu muốn thực hiện các yêu cầu khác để server xác thực user đó là đúng.
Token này có thể là một chuỗi mã hóa với các thuộc tính của user, vai trò của user đó. Khi server nhận được token này, sẽ giải mã sau đó sẽ thực hiện validate request đó trong ứng dụng xem user có được quyền thực hiện request đó hay không. Token này thường sẽ có thời hạn (ví dụ: 30 phút sau khi lấy sẽ hết hạn) bởi vì có thể role của user sẽ thay đổi trong quá trình thực hiện.
# | HTTP Status Code | Response Code | Description |
---|---|---|---|
1 | 200 | Success | |
2 | 204 | No content | |
3 | 400 | Invalid client credentials | |
4 | 401 | Invalid client secret | |
5 | 400 | Unsupported grant_type | |
6 | 400 | Invalid refresh token |
STT |
Tính năng |
Mô tả tình huống |
Điều kiện |
Kết quả mong đợi |
1 |
Get Token |
Lấy token thành công |
- Client_id hợp lệ - Client_secret hợp lệ - Grant_type hợp lệ |
Http code: 200 |
2 |
Get Token |
Lấy token thất bại do client_id không hợp lệ |
- Client_id không hợp lệ - Client_secret hợp lệ - Grant_type hợp lệ |
Http code: 400 |
3 |
Get Token |
Lấy token thất bại do client_secret không hợp lệ |
- Client_id hợp lệ - Client_secret không hợp lệ - Grant_type hợp lệ |
Http code: 401 |
4 |
Get Token |
Lấy token thất bại do grant_type không hợp lệ |
- Client_id hợp lệ - Client_secret hợp lệ - Grant_type không hợp lệ |
Http code: 400 |
5 | Hủy active session | Đăng xuất và hủy active session đã đăng nhập thành công |
- Bearer token hợp lệ - refresh_token hợp lệ - client_id hợp lệ - client_secret hợp lệ |
Http code: 204 “X-global-transaction-id: …” |
6 | Hủy active session | Đăng xuất và hủy active session thất bại do refresh_token không hợp lệ |
- Bearer token hợp lệ - refresh_token không hợp lệ - client_id hợp lệ - client_secret hợp lệ |
Http code: 400 "error": "invalid_grant", "error_description": "Invalid refresh token" |
