Sử dụng token làm mới
Luồng sử dụng token làm mới là cách an toàn hơn để cấp quyền cho các yêu cầu API. Thay vì sử dụng trực tiếp một thông tin xác thực có thời hạn dài, bạn đổi token làm mới lấy token truy cập có thời hạn ngắn. Khi token truy cập đó hết hạn, bạn thực hiện lại việc trao đổi.
Lưu ý rằng không thể chỉ dùng token làm mới để cấp quyền cho các yêu cầu API; trước tiên, token này luôn phải được đổi lấy một token làm mới.
Để sử dụng luồng này, hãy chọn tùy chọn refresh token khi tạo token trong Admin → Developer. Khi tạo, bạn sẽ nhận được ba giá trị:
-
Client ID – xác định ứng dụng tích hợp của bạn
-
Client secret – xác thực yêu cầu trao đổi token
-
Refresh token – dùng để lấy token truy cập
Đổi token làm mới lấy token truy cập
Gửi yêu cầu POST đến điểm cuối token của Altium Identity.
Token Endpoint
Miền xác thực |
URL |
Altium 365 |
|
Altium 365 Gov Cloud |
|
Request Body (application/x-www-form-urlencoded)
grant_type=refresh_token
refresh_token={refresh-token}
client_id={client-id}
client_secret={client-secret}
Response
{
"access_token": "...",
"expires_in": 14400,
"token_type": "Bearer",
"refresh_token": "...",
"scope": "..."
}
Sử dụng access_token trong phản hồi để cấp quyền cho các yêu cầu API. expires_in được tính bằng giây và cho biết thời gian token truy cập có hiệu lực.
curl Example:
curl -X POST https://auth.altium.com/connect/token \
-H "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode "grant_type=refresh_token" \
--data-urlencode "refresh_token={refresh-token}" \
--data-urlencode "client_id={client-id}" \
--data-urlencode "client_secret={client-secret}"
Tích hợp vào ứng dụng của bạn
Quy trình điển hình cho các ứng dụng tích hợp chạy trong thời gian dài:
-
Lưu trữ an toàn token làm mới, ID ứng dụng khách và khóa bí mật của ứng dụng khách (ví dụ: trong các biến môi trường hoặc trình quản lý thông tin bí mật).
-
Khi khởi động, gọi điểm cuối token để lấy token truy cập mới.
-
Sử dụng token truy cập cho các yêu cầu API. Lưu token vào bộ nhớ đệm cho đến khi hết hạn.
-
Khi token hết hạn (mã trạng thái HTTP
401 Unauthorized, hoặc200 OKvới mã lỗiAuthExpiredTokentrong phản hồi GraphQL), hãy đổi token làm mới một lần nữa để lấy token truy cập mới.
Token làm mới hết hạn sau thời gian hiệu lực được cấu hình khi tạo (tối đa 1 năm). Khi token làm mới hết hạn, bạn cần tạo token mới trong Quản trị → Nhà phát triển.
Xem thêm