Se stai testando o creando un'applicazione interna, potresti non volere che le tue richieste API siano associate a un utente specifico, come nel caso dell'autenticazione di base, che richiede un nome utente e una password, o dell'autenticazione con token API, che richiede comunque un nome utente. La terza opzione è l'uso di un token di accesso OAuth.
A prima vista, la creazione di un token OAuth, con il suo elaborato flusso di autorizzazione, potrebbe sembrare un compito arduo. Tuttavia, puoi saltare le parti più complicate del processo e ottenere un token di accesso direttamente dall'API. Questo articolo descrive in pochi semplici passaggi come creare un token OAuth personale a scopo di test.
Creazione del client OAuth
Il primo passaggio è creare un client OAuth per i test.
- In Centro amministrativo, fai clic sull'icona App e integrazioni () nella barra laterale, quindi seleziona API > API Zendesk.
- Nella scheda Client OAuth , fai clic su Aggiungi client OAuth in alto a destra nell'elenco.
L'impostazione del client a scopo di test è leggermente diversa dalla creazione di un normale client OAuth. Nota le seguenti differenze:
- Il reindirizzamento deve essere un URL HTTPS valido, ma non deve essere un vero sito web per questo progetto. Esempio: https://sito.com.
- L'identificatore univoco è il nome del client da usare nel codice. Puoi anche ottenere l'ID client con l'endpoint Elenco client dell'API client OAuth.
- Ti consigliamo di copiare il segreto per riferimento futuro. Non verrà più visualizzata dopo la creazione, ma sarà utile se intendi usarla per creare un'app web OAuth o per altri progetti.
- Tutti gli altri campi possono essere compilati con dati fittizi.
Creazione del token di accesso
Ora hai tutto il necessario per creare un token con l' API dei token OAuth . Ecco come effettuare la richiesta con cURL:
curl https://{subdomain}.zendesk.com/api/v2/oauth/tokens.json \
-H "Content-Type: application/json" \
-d '{"token": {"client_id": "your_client_id", "scopes": ["read", "write"]}}' \
-X POST -v -u {email_address}:{password}
Notare alcuni aspetti di questo codice:
- Ricorda di sostituire il segnaposto del sottodominio con il tuo sottodominio
- Il valore di "client_id" è il numero copiato dalla pagina Client OAuth
- Imposta gli ambiti su ["leggi", "scrivi"] a meno che tu non stia testando specificamente l'accesso di sola lettura a una risorsa
- Se la tua organizzazione usa il Single Sign-On (SSO) e le password Zendesk sono state eliminate dall'account Zendesk, dovrai usare un token API per autenticare la richiesta:
-u {email_address}/token:{api_token}
. Consulta la sezione relativa ai token API nella documentazione relativa all'API di assistenza.
Esegui la richiesta cURL. Dovrebbe restituire un pacchetto JSON composto da un oggetto token con diverse proprietà:
Il valore di "full_token" è il tuo token di accesso. Copialo e tienilo al sicuro!
Tieni presente che la proprietà "expires_at" della risposta è "null", il che significa che il token non smetterà di funzionare fino a quando non elimini il client stesso. Inoltre, la prossima volta che visiterai l'elenco Client OAuth nel Centro amministrativo, il numero di token attivi per il nuovo client sarà aumentato di 1.
Come usare il tuo nuovo token di accesso
A che cosa serve un token di accesso se non si dispone di nulla con cui usarlo? Nessuno degli esempi seguenti usa un nome utente o una password. È in base al design! Un token di accesso OAuth non dipende da nessun account utente, il che è uno dei vantaggi di usarne uno nelle app e negli script.
Come autenticare una richiesta API con un token di accesso
Qualsiasi chiamata API che richiede l'autenticazione può essere effettuata con un token di accesso OAuth. Ad esempio, una chiamata all'endpoint dei ticket avrebbe il seguente aspetto:
curl https://{subdomain}.zendesk.com/api/v2/tickets.json \
-u {email_address}:{password}
ha questo aspetto con un token di accesso:
curl https://{subdomain}.zendesk.com/api/v2/tickets.json \
-H "Authorization: Bearer {access_token}"
Come usare un token di accesso in un client API
Puoi anche usare un token di accesso OAuth in uno qualsiasi dei nostri client API . Il client Ruby , ad esempio, richiede normalmente l'autenticazione con nome utente e password (o token API), in quanto tale:
config.username = "user email" config.password = "user password"
Se invece usi un token di accesso, questo aspetto appare:
config.access_token = "your OAuth access token"
Avvertenza sulla traduzione: questo articolo è stato tradotto usando un software di traduzione automatizzata per fornire una comprensione di base del contenuto. È stato fatto tutto il possibile per fornire una traduzione accurata, tuttavia Zendesk non garantisce l'accuratezza della traduzione.
Per qualsiasi dubbio sull'accuratezza delle informazioni contenute nell'articolo tradotto, fai riferimento alla versione inglese dell'articolo come versione ufficiale.