Образцы

В следующих примерах мы предполагаем, что вы уже получили токен со своей служебной учетной записью :

TOKEN=$(gcloud auth print-access-token)

Мы также предполагаем, что вы уже установили для ${CLIENT_PROJECT} идентификатор проекта Google Cloud Project.

Список текущих клиентов

Следующая команда возвращает всех клиентов, к которым у вызывающей стороны есть доступ:

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"

Для удобства сохраните возвращенное имя клиента в переменную:

CUSTOMER_NAME=customers/...

Создайте новую конфигурацию устройства

Сначала установите ${FCCID} и ${SN} устройства, которое вы хотите создать:

FCCID=f1
SN=sn1

Затем создайте конфигурацию устройства с помощью следующей команды:

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

Команда возвращает только что созданную конфигурацию устройства. Для удобства сохраните имя устройства в переменную:

DEVICE_NAME=customers/.../devices/...

Список текущих устройств

Следующая команда выводит список существующих устройств.

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"

Получить устройство по имени

Следующая команда извлекает устройства по имени.

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

Обновите существующее устройство

Следующая команда обновляет существующие устройства.

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

Подтвердите свою личность и сертификацию 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:generateSecret" \
  -d "{}"

Это возвращает значение в следующей форме:

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

Затем секретная строка должна быть закодирована в JWT. Используйте формат веб-токена JSON . Мы предполагаем, что вы установили ${SECRET} в секретную строку, ${ENCODED_SECRET} в строку JWT и ${CPI_ID} в идентификатор CPI для проверки.

Следующая команда проверяет подлинность и сертификацию 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 теперь имеет возможность установить CBSD со всеми необходимыми параметрами.

Многоступенчатая регистрация CBSD

Существует два способа выполнения многоэтапной регистрации CBSD, описанные в следующих двух разделах. Вы можете выполнить многоэтапную регистрацию CBSD с параметрами, предварительно подписанными CPI или с учетной записью CPI.

С параметрами устройства, предварительно подписанными CPI

В этом образце показано, как создать неактивную конфигурацию устройства с параметрами установки CBSD, предварительно закодированными с помощью CPI, поэтому конфигурацию могут создавать даже пользователи, не являющиеся пользователями CPI. Используйте закрытый ключ CPI для кодирования параметров CBSD. Для этого мы используем формат JSON Web Token . Мы предполагаем, что вы установили ${ENCODED_DEVICE} в строку JWT и ${CPI_ID} в идентификатор 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/${CUSTOMER_NAME}/devices:createSigned" \
  -d "{ \"installer_id\": \"${CPI_ID}\", \"encoded_device\": \"${ENCODED_DEVICE}\", \"parent\": \"${CUSTOMER_NAME}\" }"

Затем CBSD должен отправить запрос на регистрацию в SAS для завершения регистрации.

С учетной записью CPI

Во-первых, идентификация 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/${DEVICE_NAME}:signDevice" \
  -d "${DEVICE}"

Мы предполагаем, что вы установили ${DEVICE} как JSON-представление параметров регистрации CBSD в этом формате .

Затем CBSD должен отправить запрос на регистрацию в SAS для завершения регистрации.