Agent SDK Bí mật & ký HMAC

Bảo vệ thông tin đăng nhập của Agent API và hiểu cách SDK tạo ra các HMACchữ ký yêu cầuSHA256 có dấu thời gian và chống phát lại.

View as Markdown

Yêu cầu Agent SDK được xác thực bằng một đối tác API bí mật. Giữ bí mật đó trong một dịch vụ backend đáng tin cậy và để SDK tạo các trường ký bất cứ khi nào có thể.

Hai giao thức ký

Agent SDK ký sử dụng các trường yêu cầu đã sắp xếp, dấu thời gian dựa trên giây và nonce. Yêu cầu API của Nhà phát triển trực tiếp sử dụng quy trình riêng biệt được mô tả trong Ký yêu cầu. Không tái sử dụng một định dạng payload cho định dạng còn lại.

Quy tắc ký kết

Đối với Agent SDK yêu cầu:

  1. Loại trừ trường sign .
  2. Bỏ qua các trường có giá trị rỗng.
  3. Sắp xếp các tên trường còn lại theo thứ ASCII .
  4. Kết nối các trường như k=v&k2=v2.
  5. Tính HMAC-SHA256 chữ ký thập lục phân với apiSecret.

SDK nên xây dựng giá trị này từ cùng dữ liệu mà nó gửi. Thay đổi trường đã ký sau khi tạo chữ ký sẽ khiến việc xác minh thất bại.

SDK trường được quản lý

Lĩnh vựcNguồnMô tả
agentCodecấu hình SDKMã agent đối tác.
dấu thời gianThời gian máy chủ hiện tạiThời gian Unix tính bằng giây.
một lầnGiá trị ngẫu nhiên bảo mậtChuỗi ngẫu nhiên bảo vệ phát lại.
dấu hiệuHMAC-SHA256Yêu cầu ký tên.
tiền tệTiền tệ mặc địnhDùng khi chuyển khoản/tài khoản API bỏ qua tiền tệ.

Lưu trữ bí mật

  • Tải apiSecret từ trình quản lý bí mật phía sau hoặc cấu hình thời gian chạy được bảo vệ.
  • Không bao giờ đặt bí mật vào các gói frontend, ứng dụng di động, client trên máy tính, ảnh chụp màn hình hoặc phiếu hỗ trợ.
  • Giữ thông tin xác thực cho phát triển, dàn dựng và sản xuất riêng biệt.
  • Giới hạn quyền truy cập vào các dịch vụ và nhà khai thác cần thiết.
  • Xóa bỏ chữ ký yêu cầu, giá trị ủy quyền và bí mật từ nhật ký.
  • Thu hồi và thay thế thông tin đăng nhập khi nghi ngờ có sự phơi nhiễm.

Bảo vệ đồng hồ và phát lại

SDK bao gồm timestampnonce để giảm rủi ro phát lại. Giữ đồng bộ đồng hồ backend và không tái sử dụng nonce được xây dựng thủ công. Nếu xác thực chữ ký thất bại, hãy xác nhận bí mật đã cấu hình, thời gian máy chủ, trường tuần tự hóa và môi trường trước khi thử lại.

Danh sách kiểm tra tích hợp

Kiểm traKết quả dự kiến
Vị trí bí mậtLưu trữ bí mật chỉ dành cho backend.
Môi trườngURL cơ sở và chứng chỉ thuộc cùng một môi trường.
Xử lý hiện trườngSDK tạo ra timestamp, nonce, và sign.
Ghi chép gỗID doanh nghiệp vẫn hiển thị trong khi thông tin đăng nhập bị ẩn.
QuayQuy trình chủ sở hữu và thay thế được ghi chép lại.