# Autenticazione

> Ogni richiesta ad amodb porta una chiave: 32 caratteri esadecimali minuscoli. Inviala come api_key nella query o come header Authorization: Bearer per le chiamate in stile TMDB, e come apikey per quelle in stile OMDb. Le immagini non richiedono chiave. Una chiave errata restituisce 401 con status_code 7, una sospesa 401 con status_code 10.

## Formato della chiave

Una chiave è di 32 caratteri esadecimali minuscoli, per esempio `0123456789abcdef0123456789abcdef`. Ha la stessa forma di una chiave TMDB v3, quindi i campi e i validatori costruiti per le chiavi TMDB la accettano.

amodb salva solo un hash SHA-256 di ogni chiave. La chiave completa viene mostrata una sola volta, quando la crei. Se la perdi, eliminala e creane una nuova.

## Chiamate in stile TMDB

Invia la chiave in uno dei due modi. Entrambi funzionano su ogni endpoint sotto `https://api.amodb.dev/3`.

| Metodo             | Esempio                          |
| ------------------ | -------------------------------- |
| Parametro di query | `?api_key=YOUR_KEY`              |
| Header             | `Authorization: Bearer YOUR_KEY` |

```bash
curl "https://api.amodb.dev/3/configuration" \
  -H "Authorization: Bearer $AMODB_KEY"
```

```js
const res = await fetch("https://api.amodb.dev/3/configuration", {
  headers: { Authorization: `Bearer ${process.env.AMODB_KEY}` },
});
```

```python
import os
import requests

res = requests.get(
    "https://api.amodb.dev/3/configuration",
    headers={"Authorization": f"Bearer {os.environ['AMODB_KEY']}"},
    timeout=10,
)
```

```php
<?php
$url = "https://api.amodb.dev/3/configuration?api_key=" . urlencode(getenv("AMODB_KEY"));
$config = json_decode(file_get_contents($url), true);
```

```go
req, _ := http.NewRequest("GET", "https://api.amodb.dev/3/configuration", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("AMODB_KEY"))
res, err := http.DefaultClient.Do(req)
```

## Chiamate in stile OMDb

L'endpoint compatibile con OMDb accetta la chiave come `apikey`, come fa OMDb. È la stessa chiave che usi per le chiamate in stile TMDB.

```bash
curl "https://api.amodb.dev/omdb/?t=Inception&y=2010&apikey=$AMODB_KEY"
```

## Le immagini non richiedono chiave

Gli URL delle immagini su `img.amodb.dev` sono pubblici. Non aggiungere la tua chiave: un tag `<img>` la esporrebbe a ogni visitatore.

## Tieni le chiavi sul server

Una chiave in un bundle del browser, in un'app mobile o in un repository pubblico è pubblica. Chiunque la copi consuma la tua frequenza di richieste. Chiama amodb dal tuo server, da una funzione serverless o da una fase di build, e passa ai client solo i dati.

- Salva la chiave in una variabile d'ambiente o in un gestore di segreti.
- Usa una chiave per app o per ambiente, con un'etichetta come `production` o `staging`.
- Elimina una chiave nel momento in cui trapela. Le chiamate che la usano falliscono subito.

## Errori

| HTTP | status_code | Significato                                                            |
| ---- | ----------- | ---------------------------------------------------------------------- |
| 401  | 7           | La chiave manca, è malformata o sconosciuta.                           |
| 401  | 10          | La chiave è sospesa. Scrivi a <support@amodb.dev>.                     |
| 402  | 36          | Il tuo piano è scaduto. Paga un nuovo periodo nella pagina dei prezzi. |

Vedi [errori](https://amodb.dev/it/errors/) per tutti i codici.

## Domande e risposte

### Un header Bearer è più sicuro di api_key nella query?

Sì, un po'. Le stringhe di query finiscono nei log del server e nella cronologia del browser più spesso degli header. Entrambi arrivano allo stesso controllo, quindi usa l'header dove il tuo client lo permette.

### Quante chiavi posso creare?

Fino a 10 chiavi attive per account. Tutte condividono la frequenza di richieste del tuo piano, quindi una seconda chiave non aggiunge capacità.

### Cosa succede alle mie chiavi quando cambio piano?

Non devi fare nulla. Ogni chiave attiva riceve la nuova frequenza entro un minuto dal pagamento.

## Pagine correlate

- [Avvio rapido](https://amodb.dev/it/quickstart/): Fai la prima chiamata ad amodb: ottieni una chiave, richiedi i dettagli di un film in curl, JavaScript, Python, PHP o Go, carica la locandina. Meno di 2 minuti.
- [Limiti di richieste](https://amodb.dev/it/rate-limits/): amodb limita ogni chiave per richieste al minuto in una finestra scorrevole di 60 secondi: 20, 40 o 120 in base al piano. Leggi gli header, gestisci il 429.
- [Errori](https://amodb.dev/it/errors/): Ogni errore di amodb con stato HTTP, status_code e messaggio TMDB, più la forma dell'errore OMDb. Cosa significa ciascuno e cosa deve fare il tuo client.
- [Politica di utilizzo accettabile](https://amodb.dev/it/acceptable-use/): Cosa puoi e non puoi fare con amodb: app, siti, bot e ricerche sì, ma mai condividere le chiavi, rivendere l'accesso, aggirare i limiti o attaccare il servizio.

Aggiornato: 2026-10-18. Source: https://amodb.dev/it/authentication/
