# Autentificare

> Fiecare cerere amodb poartă o cheie: 32 de caractere hex minuscule. Trimite-o ca api_key în interogare sau ca antet Authorization: Bearer pentru apelurile în stil TMDB, și ca apikey pentru cele în stil OMDb. Imaginile nu cer cheie. O cheie greșită întoarce 401 cu status_code 7, una suspendată 401 cu status_code 10.

## Formatul cheii

O cheie are 32 de caractere hex minuscule, de exemplu `0123456789abcdef0123456789abcdef`. Are aceeași formă ca o cheie TMDB v3, deci câmpurile și validatoarele construite pentru chei TMDB o acceptă.

amodb stochează doar un hash SHA-256 al fiecărei chei. Cheia completă se afișează o singură dată, la creare. Dacă o pierzi, șterge-o și creează una nouă.

## Apeluri în stil TMDB

Trimite cheia într-unul din două moduri. Ambele funcționează pe fiecare endpoint de sub `https://api.amodb.dev/3`.

| Metodă                  | Exemplu                          |
| ----------------------- | -------------------------------- |
| Parametru de interogare | `?api_key=YOUR_KEY`              |
| Antet                   | `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)
```

## Apeluri în stil OMDb

Endpoint-ul compatibil OMDb primește cheia ca `apikey`, ca în OMDb. Este aceeași cheie pe care o folosești pentru apelurile în stil TMDB.

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

## Imaginile nu cer cheie

URL-urile de imagini de pe `img.amodb.dev` sunt publice. Nu adăuga cheia în ele: un tag `<img>` ar expune-o fiecărui vizitator.

## Păstrează cheile pe server

O cheie dintr-un bundle de browser, dintr-o aplicație mobilă sau dintr-un depozit public este publică. Oricine o copiază îți consumă rata de cereri. Apelează amodb de pe serverul tău, dintr-o funcție serverless sau dintr-un pas de build și trimite clienților doar datele.

- Stochează cheia într-o variabilă de mediu sau într-un manager de secrete.
- Folosește o cheie pentru fiecare aplicație sau mediu, cu o etichetă precum `production` sau `staging`.
- Șterge o cheie în clipa în care a fost expusă. Apelurile făcute cu ea eșuează imediat.

## Erori

| HTTP | status_code | Semnificație                                                         |
| ---- | ----------- | -------------------------------------------------------------------- |
| 401  | 7           | Cheia lipsește, este malformată sau necunoscută.                     |
| 401  | 10          | Cheia este suspendată. Scrie la <support@amodb.dev>.                 |
| 402  | 36          | Planul tău a expirat. Plătește o perioadă nouă pe pagina de prețuri. |

Vezi [erorile](https://amodb.dev/ro/errors/) pentru toate codurile.

## Întrebări și răspunsuri

### Este antetul Bearer mai sigur decât api_key în interogare?

Da, puțin. Șirurile de interogare ajung în jurnalele serverelor și în istoricul browserului mai des decât antetele. Ambele trec prin aceeași verificare, deci folosește antetul acolo unde clientul tău permite.

### Câte chei pot crea?

Până la 10 chei active pe cont. Toate folosesc rata planului tău, deci o a doua cheie nu adaugă capacitate.

### Ce se întâmplă cu cheile mele când schimb planul?

Nu trebuie să faci nimic. Fiecare cheie activă preia noua rată în cel mult un minut după plată.

## Pagini conexe

- [Ghid rapid](https://amodb.dev/ro/quickstart/): Fă primul apel amodb: ia o cheie, cere detaliile unui film în curl, JavaScript, Python, PHP sau Go, apoi încarcă posterul de pe img.amodb.dev. Sub 2 minute.
- [Limite de cereri](https://amodb.dev/ro/rate-limits/): amodb limitează fiecare cheie în cereri pe minut, în fereastră glisantă de 60 de secunde: 20, 40 sau 120. Citește antetele și tratează 429 cu Retry-After.
- [Erori](https://amodb.dev/ro/errors/): Fiecare eroare amodb, cu statusul HTTP, status_code TMDB și mesajul, plus forma erorii OMDb. Ce înseamnă fiecare și ce ar trebui să facă clientul tău.
- [Politica de utilizare acceptabilă](https://amodb.dev/ro/acceptable-use/): Ce aveți voie și ce nu cu amodb: aplicații, site-uri, boți și cercetări pe date, dar fără chei partajate, acces brut revândut, limite ocolite sau atacuri.

Actualizat: 2026-10-18. Source: https://amodb.dev/ro/authentication/
