Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Theo yêu cầu của WInnDiễn ra, một số CDND yêu cầu một Trình cài đặt chuyên nghiệp được chứng nhận (CPI) xác thực các thông số cài đặt trước khi chúng được gửi đến SAS.
Hình 1. Quy trình xác thực danh tính CPI
Trong API SAS Portal, chúng ta cần xác thực rằng một người dùng cụ thể có chứng nhận CPI hợp lệ trước khi có thể gọi phương thức SignDevice(). Chúng tôi đạt được điều này bằng phương pháp xác thực hai bước sau:
Người dùng có vai trò role_cpi sẽ gọi phương thức GenerateSecret(). Phương thức này sẽ trả về một mã thông báo bí mật.
Người dùng ký bí mật bằng khóa riêng tư của họ và sử dụng phương thức
ValidateInstaller()
để gửi lại phiên bản đã mã hóa dưới dạng
JWT, cùng với ID CPI và
bí mật gốc. Để biết thêm thông tin về việc tạo mã thông báo, hãy xem nội dung Định dạng mã thông báo web JSON.
Đặc quyền vai trò CPI chỉ có hiệu lực sau khi người dùng có vai trò role_cpi
hoàn tất thành công quy trình xác thực CPI.
[null,null,["Cập nhật lần gần đây nhất: 2025-07-25 UTC."],[[["\u003cp\u003eCertain CBSDs require Certified Professional Installer (CPI) validation before installation parameters are sent to the Spectrum Access System (SAS).\u003c/p\u003e\n"],["\u003cp\u003eCPI validation is a two-step process involving secret generation and JWT-based signature validation using the CPI's private key.\u003c/p\u003e\n"],["\u003cp\u003eUsers with the \u003ccode\u003erole_cpi\u003c/code\u003e role must successfully complete the CPI validation flow to gain CPI privileges within the SAS Portal API.\u003c/p\u003e\n"]]],["Certified Professional Installers (CPIs) must validate installation parameters for certain CBSDs. The process involves two steps via the SAS Portal API: First, a user with `role_cpi` obtains a secret using `GenerateSecret()`. Second, they sign the secret with their private key and submit it via `ValidateInstaller()`, along with their CPI ID, using a JWT. This validates the CPI's identity, granting them CPI role privileges, enabling them to use the `SignDevice()` method. The user must be logged in and use HTTPS.\n"],null,["# Validation of CPI identity\n\nAccording to the WInnForum requirements, certain CBSDs require that a Certified Professional\nInstaller (CPI) validates the installation parameters before they are sent to the SAS.\n**Figure 1.** CPI identity validation flow\n\nIn the SAS Portal API, we need to validate that a given user has a valid CPI certification before\nthey can call the\n[`SignDevice()`](/spectrum-access-system/reference/rest/customers.devices/signDevice)\nmethod. We achieve this with the following two-step validation method:\n\n1. A user with the `role_cpi` role calls the [`GenerateSecret()`](/spectrum-access-system/reference/rest/customers.devices/generateSecret) method, which returns a secret.\n2. The user signs the secret with their private key and uses the [`ValidateInstaller()`](/spectrum-access-system/reference/rest/customers.devices/validate) method to send the encoded version back as a [JWT](https://jwt.io/), along with their CPI ID and the original secret. For more details about token creation, see [JSON Web Token format](/spectrum-access-system/guides/json-web-token-format).\n\n| **Note:** For the prior steps, it's assumed that the user is logged in with their Google Account, and the traffic uses HTTPS.\n\nThe CPI role privileges become effective only after a user with the `role_cpi` role\nsuccessfully completes the CPI validation flow."]]