Autenticazione con API Key in ServiceStack

ServiceStack supporta l'autenticazione tramite API Key, offrendo diverse modalità per passare la chiave. Le modalità sono valutate in ordine di priorità:

  1. Nome utente dell'autenticazione Basic (password vuota): La API Key viene fornita come nome utente nell'intestazione Authorization con autenticazione Basic. La password deve essere vuota.
  2. Token Bearer: La API Key viene fornita come token Beare nell'intestazione Authorization.
  3. Query string: La API Key viene fornita come parametro apikey nella query string dell'URL.

Esempi con HTTPie

HTTPie:

HTTPie è un client HTTP a riga di comando moderno e intuitivo, progettato per rendere le interazioni con le API web il più umane possibile. Offre un'interfaccia semplice e un output colorato per una migliore leggibilità.

Installazione:

HTTPie può essere installato su diverse piattaforme utilizzando vari gestori di pacchetti:

  • macOS: brew install httpie
  • Linux (Debian/Ubuntu): sudo apt-get install httpie
  • Linux (Fedora): sudo dnf install httpie
  • Windows: choco install httpie (con Chocolatey)
  • Python (pip): pip install --upgrade httpie

Per ulteriori informazioni e istruzioni di installazione, visita il sito ufficiale di HTTPie: https://httpie.io/

1. Autenticazione Basic

http -a <API_KEY>: http://example.com/api/resource

Sostituisci <API_KEY> con la tua API Key e http://example.com/api/resource con l'URL dell'API.

Nota sui due punti (:):

  • Nell'autenticazione Basic, i due punti (:) separano il nome utente dalla password. Poiché in questo caso la password è vuota, i due punti seguono immediatamente il nome utente (<API_KEY>:) per indicare che non è stata fornita alcuna password.

Nota sull'omissione di --auth-type:

  • HTTPie utilizza l'autenticazione Basic come tipo di autenticazione predefinito. Pertanto, quando si utilizza l'opzione -a (o --auth) con il formato username:password, HTTPie assume automaticamente che si stia utilizzando l'autenticazione Basic e non è necessario specificare esplicitamente --auth-type=basic.

2. Token Bearer

http -A bearer -a <API_KEY> http://example.com/api/resource

Sostituisci <API_KEY> con la tua API Key e http://example.com/api/resource con l'URL dell'API.

Spiegazione dei parametri:

  • -A bearer o --auth-type=bearer: Specifica il tipo di autenticazione da utilizzare. In questo caso, bearer indica l'autenticazione tramite token Bearer.
  • -a <API_KEY> o --auth=<API_KEY>: Fornisce il token di autenticazione. In questo caso, <API_KEY> rappresenta il tuo token Bearer.

3. Query string

http http://example.com/api/resource?apikey=<API_KEY>

Sostituisci <API_KEY> con la tua API Key e http://example.com/api/resource con l'URL dell'API.

Priorità

ServiceStack valuta le modalità di autenticazione nell'ordine sopra indicato. Se la API Key è presente in più di una modalità, verrà utilizzata quella con priorità più alta. Ad esempio, se la API Key è presente sia nell'autenticazione Basic che nella query string, verrà utilizzata quella fornita tramite autenticazione Basic.