# Uwierzytelnianie

> Każde żądanie do amodb niesie jeden klucz: 32 małe znaki szesnastkowe. Wyślij go jako api_key w zapytaniu albo w nagłówku Authorization: Bearer w wywołaniach w stylu TMDB, a jako apikey w wywołaniach w stylu OMDb. Obrazy nie wymagają klucza. Błędny klucz zwraca 401 z status_code 7, zawieszony klucz 401 z status_code 10.

## Format klucza

Klucz to 32 małe znaki szesnastkowe, na przykład `0123456789abcdef0123456789abcdef`. Ma ten sam kształt co klucz TMDB v3, więc pola i walidatory zbudowane dla kluczy TMDB go akceptują.

amodb przechowuje tylko skrót SHA-256 każdego klucza. Pełny klucz jest pokazywany raz, przy tworzeniu. Jeśli go zgubisz, usuń go i utwórz nowy.

## Wywołania w stylu TMDB

Wyślij klucz na jeden z dwóch sposobów. Oba działają w każdym endpoincie pod `https://api.amodb.dev/3`.

| Sposób             | Przykład                         |
| ------------------ | -------------------------------- |
| Parametr zapytania | `?api_key=YOUR_KEY`              |
| Nagłówek           | `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)
```

## Wywołania w stylu OMDb

Endpoint zgodny z OMDb przyjmuje klucz jako `apikey`, tak jak OMDb. To ten sam klucz, którego używasz w wywołaniach w stylu TMDB.

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

## Obrazy nie wymagają klucza

Adresy obrazów na `img.amodb.dev` są publiczne. Nie dodawaj do nich klucza: tag `<img>` ujawniłby go każdemu odwiedzającemu.

## Trzymaj klucze na serwerze

Klucz w paczce przeglądarkowej, aplikacji mobilnej lub publicznym repozytorium jest publiczny. Każdy, kto go skopiuje, zużywa twój limit żądań. Wywołuj amodb ze swojego serwera, funkcji serverless lub kroku budowania i przekazuj klientom tylko dane.

- Trzymaj klucz w zmiennej środowiskowej lub menedżerze sekretów.
- Używaj jednego klucza na aplikację lub środowisko, z etykietą, np. `production` lub `staging`.
- Usuń klucz w chwili, gdy wycieknie. Wywołania z nim przestają działać od razu.

## Błędy

| HTTP | status_code | Znaczenie                                                 |
| ---- | ----------- | --------------------------------------------------------- |
| 401  | 7           | Klucz nie został podany, ma zły format lub jest nieznany. |
| 401  | 10          | Klucz jest zawieszony. Napisz na <support@amodb.dev>.     |
| 402  | 36          | Twój plan wygasł. Opłać nowy okres na stronie cennika.    |

Zobacz [błędy](https://amodb.dev/pl/errors/), aby poznać wszystkie kody.

## Pytania i odpowiedzi

### Czy nagłówek Bearer jest bezpieczniejszy niż api_key w zapytaniu?

Tak, trochę. Parametry zapytania częściej trafiają do logów serwera i historii przeglądarki niż nagłówki. Oba sposoby przechodzą to samo sprawdzenie, więc używaj nagłówka, jeśli twój klient na to pozwala.

### Ile kluczy mogę utworzyć?

Do 10 aktywnych kluczy na konto. Wszystkie dzielą limit żądań twojego planu, więc drugi klucz nie zwiększa przepustowości.

### Co się dzieje z moimi kluczami, gdy zmienię plan?

Nie musisz nic robić. Każdy aktywny klucz dostaje nowy limit w ciągu minuty od płatności.

## Powiązane strony

- [Szybki start](https://amodb.dev/pl/quickstart/): Pierwsze wywołanie amodb: zdobądź klucz, pobierz szczegóły filmu w curl, JavaScript, Python, PHP lub Go, potem załaduj plakat z img.amodb.dev. Poniżej 2 minut.
- [Limity żądań](https://amodb.dev/pl/rate-limits/): amodb limituje klucz liczbą żądań na minutę w przesuwanym oknie 60 sekund: 20, 40 lub 120 zależnie od planu. Czytaj nagłówki limitu i obsłuż 429 z Retry-After.
- [Błędy](https://amodb.dev/pl/errors/): Każdy błąd amodb ze statusem HTTP, status_code i komunikatem TMDB oraz kształt błędu OMDb. Co oznacza każdy z nich i co powinien zrobić twój klient dalej.
- [Zasady dopuszczalnego użycia](https://amodb.dev/pl/acceptable-use/): Co wolno, a czego nie wolno z amodb: budować na danych aplikacje, strony, boty i badania, ale nie udostępniać kluczy, odsprzedawać dostępu ani omijać limitów.

Zaktualizowano: 2026-10-18. Source: https://amodb.dev/pl/authentication/
