Le API del servizio dati e metadati utilizzano un JWT (JSON Web Token) per autenticazione e autorizzazione. Quando richiedi un'API utilizzando l'intestazione della richiesta di autorizzazione HTTP , devi fornire un token non scaduto che abbia l'ambito corretto e che sia firmato da una JWK (JSON Web Key) approvata.
Prima di iniziare
- Trova l'account, l'organizzazione e gli ID cliente.
Accedere a Intelligence suite.
Seleziona l'organizzazione e l'account che stai utilizzando.
- Aprire la pagina Informazioni.
Viene visualizzato un elenco di ID account, organizzazione e client di cui hai bisogno per accedere ai servizi API.
Nota: l'ID client ha come prefisso il nome servizio.
Nel seguente esempio di ID client, saascore è un servizio, quindi l'ID ha come prefisso saascore.
saascore-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
- Prendere nota di tutti gli ID.
- Ottieni una chiave API.
Nota: puoi ottenere una chiave API con o senza un account IBM Cloud® , ma utilizzare un account IBM Cloud è il metodo preferito.
| Opzione |
Descrizione |
| Se hai un account IBM Cloud |
Devi generare la chiave dell'API solo una volta per generare il token IAM (identity and access management) e questa chiave non scade dopo essere stata creata.
- Accedi a IBM Cloud.
- Dalla barra dei menu, seleziona .
- Dal menu di navigazione laterale, nella sezione Gestisci identità , fai clic su Chiavi API.
- Per creare la chiave API IBM Cloud , fare clic su Crea e aggiungere un nome e una descrizione.
- Fare clic su Crea.
- Copiare la chiave API o fare clic su Scarica per salvarla.
|
| Se non hai un account IBM Cloud |
Contatta IBM® per ottenere una chiave API nonIBM Cloud , quindi passa alla procedura. |
Procedura
- Genera un token:
| Opzione |
Descrizione |
| Se hai un account IBM Cloud |
- Per creare un token IAM, invia la richiesta API POST come mostrato nel seguente esempio cURL :
Assicurati di sostituire <<YOUR_IAM_APIKEY>> con la tua chiave nella richiesta. curl --location --request POST 'https://iam.cloud.ibm.com/identity/token' \
--data-urlencode 'grant_type=urn:ibm:params:oauth:grant-type:apikey' \
--data-urlencode 'apikey=<<YOUR_IAM_APIKEY>>'
Questa richiesta restituisce un token IAM. Prendi nota del token IAM.
- Generare un token JWT.
Nel seguente esempio cURL , il token IAM è utilizzato per generare un token JWT per accedere al servizio saascore .
Assicurati di sostituire <<YOUR_ORGID>>,<<CLIENT_ID>>, e <<YOUR_IAM_TOKEN>> con il tuo ID organizzazione, ID client e token IAM nella richiesta. curl --location --request GET 'https://api.ibm.com/saascore/run/authentication-retrieve?orgId=<<YOUR_ORGID>>\
--header 'X-IBM-Client-Id: saascore-<<CLIENT_ID>>' \
--header 'Authorization: Bearer <<YOUR_IAM_TOKEN>>'
Il risultato di questa chiamata è un token JWT. Salvare il token JWT per le chiamate API successive. I token JWT generalmente scadono dopo circa 60 minuti dopo i quali è necessario recuperare un nuovo token.
|
| Se non hai un account IBM Cloud |
Invia una richiesta GET come mostrato nel seguente esempio cURL .
Assicurati di sostituire <tenantId>>,<<apiKey>>, e <<orgId>> con il tuo ID tenant, la chiave API nonIBM Cloud e l'ID organizzazione nella richiesta. curl --location --request GET \
--header 'X-IBM-Client-Id: saascore-${tenantId}' \
--header 'X-API-Key: ${apiKey}' \
"https://api.ibm.com/saascore/run/authentication-retrieve/api-key?orgId=${orgId}"
|
- Autentica il tuo account.
Nel seguente esempio cURL , il token JWT viene utilizzato per autenticare il tuo account.
curl --location --request <GET/POST> '<INSERT_API_ENDPOINT_HERE>' \
--header 'x-ibm-client-Id: <service-prefix>-<INSERT_YOUR_CLIENT_ID_HERE>' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer <INSERT_YOUR_JWT_HERE> \