Mẫu

Trong những ví dụ sau, chúng tôi giả định rằng bạn đã lấy mã thông báo bằng tài khoản dịch vụ:

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 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ề 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}${SN} của thiết bị mà bạn muốn tạo:

FCCID=f1
SN=sn1

Sau đó, 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 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 sẽ truy xuất 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 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à giấy chứng nhận CPI của bạn

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 "{}"

Hàm này trả về một giá trị có dạng sau:

{
  "secret": "<generated secret>"
}

Chuỗi bí mật sau đó phải được mã hoá thành JWT. Hãy 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 để xác thực.

Lệnh sau đây sẽ xác thực danh tính và chứng chỉ 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}\" }"

CPI hiện có khả năng cài đặt CBSD có tất cả các thông số bắt buộc.

Đăng ký CBSD nhiều bước

Có hai cách thực hiện đăng ký CBSD nhiều bước được đề cập trong hai phần sau đây. Bạn có thể thực hiện đăng ký CBSD nhiều bước bằng các tham số trước đây được ký bằng CPI hoặc tài khoản CPI.

Có thông số thiết bị được ký trước đó bởi CPI

Mẫu này cho thấy cách tạo cấu hình thiết bị không hoạt động với các thông số cài đặt CBSD trước đây đã được mã hóa bằng CPI, nhờ đó người dùng không phải CPI cũng có thể tạo cấu hình ngay cả. Sử dụng khoá riêng tư của CPI&39; để mã hoá các tham số CBSD. Chúng tôi dùng định dạng Mã thông báo web JSON để làm 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ý.

Có tài khoản CPI

Trước tiên, danh tính của CPI phải được xác thực trước khi cố gắng xác thực cấu hình thiết bị. Sau khi quá trình này hoàn tất, hãy sử dụng lệnh sau để tạo 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àm đại diện JSON của 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ý.