Klucz API (ang. API key) to unikalny ciąg znaków, który identyfikuje i uwierzytelnia aplikację, usługę lub konkretnego użytkownika korzystającego z API (interfejsu programistycznego). W skrócie: to przepustka, którą Twój kod pokazuje przy wejściu do cudzej usługi, żeby serwer wiedział, kto puka i czy w ogóle ma prawo wejść. Najczęściej wygląda jak losowy bełkot w stylu sk_live_4eC39HqLyjWDarjtT1zdp7dc i właśnie ta losowość jest jego całą wartością.
Jak to działa i do czego służy
Kiedy Twoja aplikacja wysyła żądanie do API (np. po prognozę pogody albo po wygenerowanie tekstu), dołącza do niego klucz. Serwer sprawdza go w swojej bazie i na tej podstawie wie trzy rzeczy: kim jesteś, czy masz dostęp oraz ile już zużyłeś. Dzięki temu dostawca może liczyć Twoje zapytania, nakładać limity (rate limiting) i wystawiać rachunek.
Klucz API to mechanizm prostszy niż pełne uwierzytelnianie użytkownika. Sam w sobie zwykle nie szyfruje danych ani nie potwierdza tożsamości człowieka, a jedynie aplikacji. Dlatego najczęściej jedzie po HTTPS, gdzie szyfrowanie ogarnia warstwa transportowa, a klucz odpowiada tylko za pytanie: kto to wysłał.
Przykład z praktyki
Załóżmy, że pobierasz dane ze Stripe albo OpenAI. Klucz wkładasz zwykle do nagłówka żądania. W curl wygląda to tak:
curl https://api.openai.com/v1/models -H "Authorization: Bearer sk_live_TWOJ_KLUCZ"
W kodzie klucza nigdy nie wpisujesz na sztywno. Trzymasz go w zmiennej środowiskowej, np. w pliku .env, i czytasz przez process.env.API_KEY (Node.js) lub os.environ["API_KEY"] (Python). Plik .env dorzucasz do .gitignore, żeby nie wylądował w repozytorium.
Częste błędy i na co uważać
- Wrzucenie klucza na GitHuba. Boty skanują publiczne repozytoria w kilkanaście sekund i potrafią naliczyć Ci rachunek na tysiące złotych, zanim zdążysz zauważyć.
- Klucz w kodzie frontendu. Wszystko, co trafia do przeglądarki, jest jawne. Sekretne klucze trzymaj wyłącznie na backendzie.
- Brak rotacji. Jeśli klucz wyciekł, nie panikuj, tylko go rewokuj i wygeneruj nowy. Większość dostawców pozwala mieć kilka kluczy naraz.
- Mit, że klucz API to to samo co token OAuth. Nie jest. OAuth potwierdza tożsamość użytkownika i nadaje zakresy uprawnień, klucz API zwykle identyfikuje aplikację jako całość.
Traktuj klucz jak hasło: nie wysyłaj go na Slacku, nie loguj w konsoli i ogranicz mu uprawnienia, jeśli dostawca na to pozwala.
Pojęcia powiązane
Warto znać przy okazji: token (Bearer token, JWT), OAuth 2.0, uwierzytelnianie i autoryzacja, zmienne środowiskowe, rate limiting, sekrety (secrets management), HTTPS.