Negli esempi seguenti, supponiamo che tu abbia già ottenuto un token con il tuo service account:
TOKEN=$(gcloud auth print-access-token)
Supponiamo inoltre che tu abbia già impostato ${CLIENT_PROJECT}
sull'ID progetto del progetto Google Cloud.
Elenca i clienti attuali
Il seguente comando restituisce tutti i clienti a cui il chiamante ha accesso:
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"
Per comodità, salva il nome del cliente restituito in una variabile:
CUSTOMER_NAME=customers/...
Crea una nuova configurazione del dispositivo
Innanzitutto, imposta ${FCCID}
e ${SN}
del dispositivo
che vuoi creare:
FCCID=f1 SN=sn1
Quindi crea la configurazione del dispositivo con il seguente comando:
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\"}}"
Il comando restituisce una configurazione del dispositivo appena creata. Per praticità, salva il nome del dispositivo in una variabile:
DEVICE_NAME=customers/.../devices/...
Elencare i dispositivi attuali
Il comando seguente elenca i dispositivi esistenti.
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"
Recuperare il dispositivo per nome
Il seguente comando recupera i dispositivi per nome.
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}"
Aggiornare un dispositivo esistente
Il comando seguente aggiorna i dispositivi esistenti.
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}" \
Convalida dell'identità e della certificazione CPI
Utilizza il seguente esempio per generare la stringa segreta:
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 "{}"
Restituisce un valore nel seguente formato:
{ "secret": "<generated secret>" }
La stringa segreta deve quindi essere codificata in un JWT. Utilizza il
formato
JSON Web Token. Supponiamo che tu abbia impostato ${SECRET}
sulla stringa segreta, ${ENCODED_SECRET}
sulla stringa JWT e ${CPI_ID}
sull'ID dell'intent incorporato da convalidare.
Il seguente comando convalida l'identità e la certificazione del 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}\" }"
Il CPI ora può installare una CBSD con tutti i parametri richiesti.
Registrazione CBSD in più passaggi
Esistono due modi per eseguire la registrazione CBSD in più passaggi, descritti nelle due sezioni seguenti. Puoi eseguire la registrazione CBSD in più passaggi con parametri firmati in precedenza da un CPI o con un account CPI.
Con i parametri del dispositivo firmati in precedenza da un CPI
Questo esempio mostra come creare una configurazione del dispositivo inattiva con i parametri di installazione CBSD codificati in precedenza da un CPI, in modo che la configurazione possa essere creata anche da utenti non CPI.
Utilizza la chiave privata del CPI per codificare i parametri CBSD. A questo scopo, utilizziamo il
formato JSON Web Token.
Supponiamo che tu abbia impostato
${ENCODED_DEVICE}
sulla stringa JWT e
${CPI_ID}
sull'ID del CPI.
La configurazione del dispositivo inattivo può quindi essere creata con il seguente comando:
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}\" }"
Il CBSD deve quindi inviare una richiesta di registrazione al SAS per completare la registrazione.
Con un account CPI
Innanzitutto, l'identità del CPI deve essere convalidata prima di tentare di convalidare la configurazione di un dispositivo. Al termine, utilizza il seguente comando per creare una configurazione del dispositivo inattiva:
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}"
Supponiamo che tu abbia impostato ${DEVICE} in modo che sia la rappresentazione JSON dei parametri di registrazione CBSD in questo formato.
Il CBSD deve quindi inviare una richiesta di registrazione al SAS per completare la registrazione.