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