Trong các ví dụ sau, chúng tôi giả định rằng bạn đã nhận được mã thông báo bằng tài khoản dịch vụ của mình:
TOKEN=$(gcloud auth print-access-token)
Chúng tôi cũng giả định rằng bạn đã đặt ${CLIENT_PROJECT}
thành mã dự án của Dự án Google Cloud.
Liệt kê khách hàng hiện tại
Lệnh sau đây trả về tất cả khách hàng mà người gọi có quyền truy cập:
curl -X GET -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer ${TOKEN}" \"https://sasportal.googleapis.com/v1alpha1/customers"
Để thuận tiện, hãy lưu Tên khách hàng đã được trả về vào một biến:
CUSTOMER_NAME=customers/...
Tạo cấu hình thiết bị mới
Trước tiên, hãy đặt ${FCCID}
và ${SN}
của thiết bị mà bạn muốn tạo:
FCCID=f1 SN=sn1
Sau đó, hãy tạo cấu hình thiết bị bằng lệnh sau:
curl -X POST -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer ${TOKEN}" \ "https://sasportal.googleapis.com/v1alpha1/${CUSTOMER_NAME}/devices" \ -d "{ \"fcc_id\": \"$FCCID\", \"serial_number\": \"$SN\", \"preloaded_config\": { \"call_sign\": \"cs1\", \"category\": \"DEVICE_CATEGORY_A\"}}"
Lệnh này trả về một cấu hình thiết bị mới tạo. Để thuận tiện, hãy lưu tên thiết bị vào một biến:
DEVICE_NAME=customers/.../devices/...
Liệt kê các thiết bị hiện tại
Lệnh sau đây liệt kê các thiết bị hiện có.
curl -X GET -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $TOKEN" \ "https://sasportal.googleapis.com/v1alpha1/${CUSTOMER_NAME}/devices"
Truy xuất thiết bị theo tên
Lệnh sau đây truy xuất các thiết bị theo tên.
curl -X GET -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $TOKEN" \ "https://sasportal.googleapis.com/v1alpha1/${DEVICE_NAME}"
Cập nhật thiết bị hiện có
Lệnh sau đây sẽ cập nhật các thiết bị hiện có.
curl -X PATCH -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $TOKEN" \ "https://sasportal.googleapis.com/v1alpha1/${DEVICE_NAME}" \
Xác thực danh tính và chứng nhận CPI của bạn
Hãy sử dụng ví dụ sau để tạo chuỗi bí mật:
curl -X POST -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $TOKEN" \ "https://sasportal.googleapis.com/v1alpha1/installer:generateSecret" \ -d "{}"
Thao tác này sẽ trả về một giá trị có dạng sau:
{ "secret": "<generated secret>" }
Sau đó, bạn phải mã hoá chuỗi bí mật thành một JWT. Sử dụng định dạng Mã thông báo Web JSON. Chúng tôi giả định rằng bạn đã đặt ${SECRET}
thành chuỗi bí mật, ${ENCODED_SECRET}
thành chuỗi JWT và ${CPI_ID}
thành mã nhận dạng của CPI cần xác thực.
Lệnh sau đây xác thực danh tính và chứng nhận của CPI.
curl -X POST -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $TOKEN" \ "https://sasportal.googleapis.com/v1alpha1/installer:validate" \ -d "{ \"installer_id\": \"${CPI_ID}\", \"secret\": \"${SECRET}\", \"encoded_secret\": \"${ENCODED_SECRET}\" }"
Giờ đây, CPI có thể cài đặt một CBSD có tất cả các thông số bắt buộc.
Đăng ký CBSD nhiều bước
Có 2 cách để thực hiện quy trình đăng ký CBSD nhiều bước, được đề cập trong 2 phần sau. Bạn có thể thực hiện quy trình đăng ký CBSD nhiều bước bằng các thông số đã được CPI ký trước đó hoặc bằng tài khoản CPI.
Với các thông số thiết bị được CPI ký trước đó
Mẫu này cho thấy cách tạo cấu hình thiết bị không hoạt động bằng các thông số cài đặt CBSD mà trước đây được mã hoá bằng CPI, nhờ đó, ngay cả người dùng không phải CPI cũng có thể tạo cấu hình.
Sử dụng khoá riêng tư của CPI để mã hoá các thông số CBSD. Chúng tôi sử dụng định dạng Mã thông báo web JSON để thực hiện việc này.
Chúng tôi giả định rằng bạn đã đặt ${ENCODED_DEVICE}
thành chuỗi JWT và ${CPI_ID}
thành mã nhận dạng của CPI.
Sau đó, bạn có thể tạo cấu hình thiết bị không hoạt động bằng lệnh sau:
curl -X POST -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer ${TOKEN}" \ "https://sasportal.googleapis.com/v1alpha1/${CUSTOMER_NAME}/devices:createSigned" \ -d "{ \"installer_id\": \"${CPI_ID}\", \"encoded_device\": \"${ENCODED_DEVICE}\", \"parent\": \"${CUSTOMER_NAME}\" }"
Sau đó, CBSD phải gửi yêu cầu đăng ký đến SAS để hoàn tất quy trình đăng ký.
Với tài khoản CPI
Trước tiên, bạn phải xác thực danh tính của CPI trước khi cố gắng xác thực cấu hình thiết bị. Sau khi hoàn tất, hãy dùng lệnh sau để tạo một cấu hình thiết bị không hoạt động:
curl -X POST -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $TOKEN" \ "https://sasportal.googleapis.com/v1alpha1/${DEVICE_NAME}:signDevice" \ -d "${DEVICE}"
Chúng tôi giả định rằng bạn đã đặt ${DEVICE} là biểu thị JSON của các tham số đăng ký CBSD ở định dạng này.
Sau đó, CBSD phải gửi yêu cầu đăng ký đến SAS để hoàn tất quy trình đăng ký.