Skip to main content

Shell Authentication 1.0.1

This API enables an application to authenticate with a time-sensitive access token as part of the OAuth Authorisation flow.

Ottenere aggiornamenti sullo stato, la manutenzione e la versione di questo API.

Guida rapida all'autenticazione Shell

Introduzione

L'API di autenticazione Shell consente alle applicazioni dei partner di autenticarsi con l'API Gateway utilizzando il flusso delle credenziali client OAuth 2.0. Questa API fornisce token di accesso a durata limitata che autorizzano le richieste alle API di Shell, garantendo una comunicazione sicura tra l’applicazione dell’utente e i servizi di Shell.

Vantaggi Descrizione
Accesso sicuro Standard OAuth 2.0 con token a durata limitata
Integrazione semplice Endpoint unico per la generazione dei token
Ambienti flessibili Supporto sia per gli ambienti di test che per quelli di produzione

Autenticazione

Nota sulla migrazione

Questa API fornisce sia la versione v1 che la v2 dell’endpoint del token OAuth. La versione 1 è deprecata e verrà rimossa in una delle prossime finestre di aggiornamento. Le nuove integrazioni dovrebbero utilizzare la v2, mentre gli utenti esistenti dovrebbero migrare alla v2 il prima possibile. Le differenze principali riguardano il formato della risposta: la v2 utilizza nomi di campo OAuth standard (expires_in invece di expires_in(seconds) e Bearer invece di BearerToken).

Flusso di autorizzazione

  1. Richiesta di ID cliente e segreto

Contatta il team dell’API Shell per richiedere l’accesso all’autenticazione OAuth. Il team dell’API Shell fornirà un ID cliente e un segreto.

  1. Richiedere il token Bearer

Una volta ottenute le credenziali, inviare una richiesta all’endpoint del token OAuth dell’API di autenticazione Shell utilizzando le proprie credenziali.

Esempio di richiesta:

curl --location --request POST 'https://api-test.shell.com/v2/oauth/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'client_id=**************' \
--data-urlencode 'client_secret=**************' \
--data-urlencode 'grant_type=client_credentials'

Nella risposta riceverai un token Bearer:

{
   "access_token": "**************",
   "expires_in": "899",
   "token_type": "Bearer"
}

Nota: il tempo di scadenza del token Bearer è indicato in secondi.

  1. Autorizza le richieste API

Quando chiami le API di Shell, includi quanto segue nell’intestazione della richiesta.

Authorization: Bearer access_token

URL di base

Ambiente URL
Test https://api-test.shell.com
Produzione https://api.shell.com

Integrazione di base

1. Genera token OAuth

Descrizione: Richiedi un token di accesso OAuth utilizzando le credenziali del tuo client. L’API restituisce un token Bearer a durata limitata che deve essere incluso nell’intestazione Authorization di tutte le successive richieste API. Per motivi di sicurezza, viene utilizzato il metodo POST anziché GET per impedire la memorizzazione nella cache.

Percorso: POST /v2/oauth/token

Richiesta di esempio

curl --location --request POST 'https://api-test.shell.com/v2/oauth/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'client_id=twuwywTYUHAH6AHHJ' \
--data-urlencode 'client_secret=yuahaYThdvdowoUUU7wjsjMM' \
--data-urlencode 'grant_type=client_credentials'

Parametri della richiesta

Parametro Tipo Obbligatorio Descrizione
client_id stringa ID cliente fornito da Shell
client_secret stringa Segreto cliente fornito da Shell
grant_type stringa Valore del tipo di autorizzazione per l’accesso (utilizzare "client_credentials")

Risposta di esempio

{
  "access_token": "NiE3gzPNVFpwYYMyyWu6mGFYtKN5",
  "expires_in": "899",
  "token_type": "Bearer"
}

Parametri della risposta

Parametro Tipo Descrizione
access_token stringa Token di accesso generato da utilizzare nelle richieste API
expires_in stringa Durata di validità in secondi
token_type stringa Tipo di token (Bearer)

Gestione degli errori

L’API utilizza i codici di stato HTTP standard. In caso di errore, ulteriori dettagli saranno forniti nel corpo della risposta.

Codice di errore Descrizione Soluzione
400 Richiesta non valida - La richiesta presenta una sintassi errata o non può essere evasa Verificare che tutti i parametri richiesti siano inclusi e formattati correttamente
401 ID client non valido - Manca l’intestazione di autorizzazione o le credenziali non sono valide Verifica che il tuo client_id e il client_secret siano corretti e codificati correttamente
403 Accesso negato - Il client non dispone dei diritti di accesso Contatta il team Shell API per verificare le tue autorizzazioni di accesso
404 Non trovato - Impossibile identificare il proxy per l’URL richiesto Verifica che l’URL dell’endpoint sia corretto per il tuo ambiente
405 Metodo non consentito - Il metodo HTTP non è supportato per questa risorsa Assicurati di utilizzare il metodo POST per l’endpoint del token
500 Errore interno del server - Esecuzione non riuscita sul server Riprovare la richiesta; contattare l’assistenza Shell se il problema persiste

Chi siamo

Il Portale per gli sviluppatori Shell supporta i partner nell'integrazione con le API Shell e nella trasformazione delle idee in soluzioni pronte per la produzione.

Logo Shell

Contatto

Accedere al proprio account

Chiedi all'assistente AI informazioni sulle API e sui prodotti API di Shell