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.

Zaktualizowano Zobacz jako Markdown

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óbPrzykład
Parametr zapytania?api_key=YOUR_KEY
NagłówekAuthorization: Bearer YOUR_KEY
bashjspyphpgo
curl "https://api.amodb.dev/3/configuration" \
  -H "Authorization: Bearer $AMODB_KEY"
const res = await fetch("https://api.amodb.dev/3/configuration", {
  headers: { Authorization: `Bearer ${process.env.AMODB_KEY}` },
});
import os
import requests

res = requests.get(
    "https://api.amodb.dev/3/configuration",
    headers={"Authorization": f"Bearer {os.environ['AMODB_KEY']}"},
    timeout=10,
)
<?php
$url = "https://api.amodb.dev/3/configuration?api_key=" . urlencode(getenv("AMODB_KEY"));
$config = json_decode(file_get_contents($url), true);
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.

curl
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

HTTPstatus_codeZnaczenie
4017Klucz nie został podany, ma zły format lub jest nieznany.
40110Klucz jest zawieszony. Napisz na support@amodb.dev.
40236Twój plan wygasł. Opłać nowy okres na stronie cennika.

Zobacz błędy, 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.