Bỏ qua để đến nội dung

Bảo mật sinh trắc

~3 phút đọc

Khoá sinh trắc trên thiết bị (Secure Enclave, Android Keystore) và challenge ký để duyệt lệnh trên ứng dụng di động.

MethodPathTóm tắtQuyềnNhóm tốc độTương tác
GET/v1/approvals/{id}/challengeLấy challenge ký sinh trắc duyệt lệnhnotify.pref.selfwriteScalar
GET/v1/me/approval-keysDanh sách khoá sinh trắc đã đăng kýnotify.pref.selfreadScalar
POST/v1/me/approval-keysĐăng ký khoá sinh trắc duyệt lệnhnotify.pref.selfwriteScalar
DELETE/v1/me/approval-keys/{key_id}Thu hồi khoá sinh trắcnotify.pref.selfwriteScalar

Lấy challenge ký sinh trắc duyệt lệnh

Tạo nonce dùng một lần (hết hạn 60s) gắn chặt với approval_id và payload_hash để ứng dụng di động ký sinh trắc.

Quyền: notify.pref.self
  • Nhóm tốc độ: write
  • Phản hồi thành công 200: Challenge ký sinh trắc. — object, application/json
  • Mã lỗi riêng của endpoint: resource_not_found
TênVị tríBắt buộcKiểuMô tả
idpathCóstring—
curl -sS -X GET "https://api.dongtien.pro/v1/approvals/$ID/challenge" \
-H "Authorization: Bearer $DT_API_KEY"

Mở trong tài liệu tương tác

Danh sách khoá sinh trắc đã đăng ký

Liệt kê các thiết bị và khoá sinh trắc đang có hiệu lực của người dùng.

Quyền: notify.pref.self
  • Nhóm tốc độ: read
  • Phản hồi thành công 200: Danh sách khoá. — object, application/json
  • Mã lỗi: chỉ các mã lỗi chung ở Tổng quan
curl -sS -X GET "https://api.dongtien.pro/v1/me/approval-keys" \
-H "Authorization: Bearer $DT_API_KEY"

Mở trong tài liệu tương tác

Đăng ký khoá sinh trắc duyệt lệnh

Đăng ký khoá EC P-256 từ Secure Enclave (iOS) hoặc Android Keystore với chữ ký xác minh sở hữu. Cần step-up còn hiệu lực (passkey/TOTP). Chỉ phiên người dùng (session) được đăng ký, cấm OAuth. Một key_id đã tồn tại (khác khoá công khai hoặc đã thu hồi) bị từ chối 409, không bao giờ được ghi đè.

Quyền: notify.pref.self Cần xác thực lại gần đây
  • Nhóm tốc độ: write
  • Nội dung yêu cầu: object (application/json, bắt buộc)
  • Phản hồi thành công 200: Khoá đã đăng ký. — object, application/json
  • Mã lỗi riêng của endpoint: step_up_required, conflict
curl -sS -X POST "https://api.dongtien.pro/v1/me/approval-keys" \
-H "Authorization: Bearer $DT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"key_id": "ios-se-key-01",
"pubkey": "BEl62iUYgUivxIkv69yViEuiBIa40HI0DLLuxazjqAKVXTJtkTXH3gZLBgYfG0k8BMVdRsaRzxkeSyQY4Mb5Zg4",
"platform": "ios",
"signature": "MEUCIQDk3Zl1h0m0n9yq6c0d8v2a7Qx5r1sWJp4uT8bN3eYkGgIgS2fA9vLw1xQeR7tZc0pHnUo5dYjB6mK8iVaXl4cE3sM="
}'

Mở trong tài liệu tương tác

Thu hồi khoá sinh trắc

Huỷ kích hoạt khoá sinh trắc khi xoá máy hoặc mất thiết bị.

Quyền: notify.pref.self
  • Nhóm tốc độ: write
  • Phản hồi thành công 200: Đã thu hồi khoá. — object, application/json
  • Mã lỗi riêng của endpoint: resource_not_found, conflict
TênVị tríBắt buộcKiểuMô tả
key_idpathCóstring—
curl -sS -X DELETE "https://api.dongtien.pro/v1/me/approval-keys/$KEY_ID" \
-H "Authorization: Bearer $DT_API_KEY"

Mở trong tài liệu tương tác