Czym jest klucz API, czym różni się od hasła i tokenu OAuth, gdzie go trzymać, jak go ograniczyć i rotować oraz co zrobić w chwili, gdy wycieknie.
Klucz API to długi tajny ciąg znaków, który program wysyła z każdym żądaniem, aby udowodnić, które konto wywołuje usługę, na przykład dostawcę płatności, map lub e-maili. Większość kluczy traktuj jak hasło: trzymaj je na serwerze, nigdy w kodzie strony, ogranicz ich uprawnienia i wymień je, jeśli zostały ujawnione.
Porównanie klucza API, tokenu OAuth i hasła
Jeśli prowadzisz stronę lub sklep, spotykasz klucze API za każdym razem, gdy podłączasz usługę: płatności, mapy, e-mail, narzędzie do formularzy albo agenta AI. Większość z nich jest tajna, kilka ma być publicznych, a pomylenie ich to prosta droga do wysokich rachunków i wycieków danych. Wklej klucz do inspektora poniżej, aby zobaczyć, na jaki rodzaj wygląda; działa w całości w Twojej przeglądarce i niczego nigdzie nie wysyła.
Oba są sekretami, ale hasło służy osobie do logowania, a klucz API oprogramowaniu do wywoływania usługi. Klucze są długie i losowe, zwykle ograniczone do określonych działań i można je wymienić bez zmiany czyjegokolwiek logowania.
Tylko jeśli dostawca twierdzi, że dany typ klucza można bezpiecznie ujawnić. Klucze publiczne Stripe zaczynające się od pk_ są przeznaczone do kodu front-endu; jego klucze tajne i ograniczone już nie. Wszystko, co jest w przeglądarce, może odczytać każdy odwiedzający.
W sejfie na sekrety albo w ustawieniach zmiennych środowiskowych hostingu. Zarówno Stripe, jak i Google zalecają, by nie umieszczać kluczy w kodzie źródłowym ani nie commitować ich do repozytoriów.
Natychmiast unieważnij go lub zrotuj w panelu dostawcy, a potem wpisz nowy klucz w ustawieniach serwera. Wytyczne GitHub dotyczące wykrytych sekretów mówią, by od razu zrotować dane uwierzytelniające; samo wyczyszczenie historii nie czyni aktywnego klucza bezpiecznym.
Użyj klucza API, gdy Twój własny serwer komunikuje się z usługą na Twoim własnym koncie. Użyj OAuth, gdy aplikacja musi działać w imieniu innych osób na ich kontach, bo wtedy każda z nich sama przyznaje dostęp i może go cofnąć.
Klucz znajduje się w zmiennej środowiskowej na serwerze. Przeglądarka wywołuje Twój własny endpoint, który dodaje klucz i wywołuje dostawcę.
Tylko wartości zastępcze. Dodaj .env do .gitignore, aby nigdy nie trafił do repozytorium.
Niewielka trasa na serwerze. Sekret jest odczytywany na serwerze i nigdy nie trafia do przeglądarki.
Wklej klucz albo tylko jego kilka pierwszych znaków. Sprawdzenie działa wyłącznie w Twojej przeglądarce; mimo to lepiej użyć klucza testowego lub fikcyjnej wartości niż aktywnego sekretu.
Klucz do sprawdzenia
Klucz publiczny Stripe
Klucz tajny Stripe
Klucz ograniczony Stripe
Token Notion
Sekret podpisu webhooka (prefiks whsec_)
Brak znanego prefiksu. Traktuj go jako tajny, chyba że dostawca mówi inaczej.
Według dostawcy przeznaczony do kodu front-endu.
Tajny: trzymaj go na serwerze, nigdy na stronie internetowej.
Klucz w trybie testowym lub sandbox.
Klucz w trybie produkcyjnym: prawdziwe pieniądze lub prawdziwe dane.
Długość: {n} znaków
Przybliżona losowość, jeśli wygenerowano go losowo: {n} bitów
Wygląda na krótki jak na sekret. Rozsądnym orientacyjnym celem jest około {n} bitów lub więcej.
Wklej coś, aby sprawdzić.
Zacznij za darmo · Bez karty kredytowej