HRMNhân viên
Quản lý phiên đăng nhập
Xem danh sách thiết bị/phiên đang đăng nhập của tài khoản, thu hồi một phiên hoặc tất cả phiên khác.
Các API dưới đây đều yêu cầu header Authorization: <JWT> (User Login Token) và không dùng được với API Key. Phạm vi là tất cả phiên của tài khoản (ở mọi công ty mà tài khoản tham gia).
1. Danh sách phiên đang hoạt động
Endpoint
GET /v1/usersessions/me/sessions
Response Schema
Trả về tối đa 100 phiên còn hiệu lực, sắp xếp theo thời gian truy cập gần nhất.
{
"total": 2,
"items": [
{
"company_id": 10311,
"creator_id": 1,
"id": 5501,
"platform": 0,
"platform_version": "",
"provider": "0",
"jwt_short": "0123",
"source": "frontend",
"device_name": "Chrome 120 trên macOS",
"device_type": "desktop",
"user_agent": "Mozilla/5.0 ...",
"status": 1,
"disabled_reason": 1,
"login_ip_address": "203.0.113.10",
"last_ip_address": "203.0.113.10",
"date_created": 1640995200,
"date_authenticated": 1640995200,
"date_modified": 1640995200,
"date_expired": 1642265999,
"date_last_accessed": 1641000000,
"is_current_session": true
}
]
}| Field | Kiểu | Mô tả |
|---|---|---|
id | int | ID phiên (dùng cho API thu hồi phiên) |
company_id | int | Công ty của phiên |
creator_id | int | User ID |
jwt_short | string | 4 ký tự đầu của JWT, giúp nhận biết phiên |
source | string | Nguồn đăng nhập (giá trị source gửi khi đăng nhập, mặc định frontend) |
device_name, device_type, user_agent | string | Thông tin thiết bị / trình duyệt. device_type: desktop, mobile, tablet hoặc unknown |
status | int | Trạng thái phiên: 1 đang hoạt động |
login_ip_address, last_ip_address | string | IP lúc đăng nhập và IP truy cập gần nhất |
date_created, date_modified, date_expired, date_last_accessed | int | Thời gian (UNIX timestamp) |
date_authenticated | int | Thời điểm đăng nhập gốc của phiên (UNIX timestamp). Phiên đổi công ty kế thừa thời điểm của phiên trước. Phiên không làm mới được quá date_authenticated + 30 ngày |
is_current_session | bool | Là phiên của JWT đang gọi API |
2. Thu hồi một phiên
Đăng xuất một phiên (thiết bị) cụ thể của tài khoản.
Endpoint
POST /v1/usersessions/me/revokesession
Request Body
| Tên | Kiểu | Bắt buộc | Mô tả |
|---|---|---|---|
session_id | int | Có | ID phiên (lấy từ danh sách phiên) |
Response Schema
{
"success": true,
"session_id": 5501
}Error Codes
| HTTP | Code | Mô tả |
|---|---|---|
| 404 | error_session_not_found | Không tìm thấy phiên hoặc phiên không thuộc tài khoản |
| 422 | error_session_id_required | Thiếu session_id |
| 422 | error_session_already_disabled | Phiên đã bị vô hiệu trước đó |
3. Thu hồi tất cả phiên khác
Đăng xuất tất cả phiên của tài khoản, trừ phiên đang gọi API.
Endpoint
POST /v1/usersessions/me/revokeallsessions
Response Schema
{
"success": true,
"revoked_count": 3
}| Field | Kiểu | Mô tả |
|---|---|---|
revoked_count | int | Số phiên đã bị thu hồi |