В следующих примерах мы предполагаем, что вы уже получили токен со своей служебной учетной записью :
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 для завершения регистрации.