Rotește sau revocă o cheie API

Emite o cheie nouă, retrage-o pe cea veche și fă curățenie după o scurgere de date — fără a strica integrările active.

3 min de cititActualizat 2026-05-15

Ce vei face

  • Rotește o cheie fără întrerupere, emițând mai întâi înlocuitorul și revocând cheia veche abia după ce noua cheie este confirmată activă.
  • Revocă imediat o cheie scursă — propagarea în toate regiunile durează cel mult 60 de secunde.
  • Stochează cheile în variabile de mediu sau într-un manager de secrete, niciodată în cod, și rotește-le când un membru al echipei cu acces pleacă.

Cheile API sunt token-uri bearer cu durată lungă de viață, așa că rotirea lor periodică — și revocarea imediată când una se scurge — merită făcută corect. Acest articol parcurge ambele cazuri.

Rotește o cheie fără întrerupere

Rotația înseamnă emiterea unei chei noi înainte de a o retrage pe cea veche, astfel încât să nu existe niciun interval în care integrarea ta să rămână neautentificată.

  1. Mergi la Settings → API keys și apasă Generate key.
  2. Dă cheii noi un nume care să indice clar scopul (de exemplu production-v2).
  3. Alege același rol ca al cheii pe care o înlocuiești.
  4. Copiază token-ul — este afișat o singură dată.
  5. Actualizează variabila de mediu sau managerul de secrete cu noul token și fă deploy.
  6. Odată ce cheia nouă este activă și confirmată funcțională (verifică coloana Last used — ar trebui să se schimbe în câteva minute), revino la Settings → API keys și apasă Revoke pe cheia veche.

Păstrează cheia veche activă până ești sigur că cea nouă funcționează. Dacă o revoci prea devreme și deploy-ul nu s-a propagat, traficul va primi erori 401.

Revocă imediat o cheie scursă

Dacă o cheie a fost expusă — publicată într-un repo public, scursă în loguri, inclusă într-un bundle client-side — revoc-o mai întâi, investighează după.

  1. Settings → API keys, găsește cheia după nume sau prefix (prefixul este vizibil în tabel, chiar dacă token-ul complet nu este).
  2. Apasă Revoke. Revocarea se propagă în toate regiunile în 60 de secunde.
  3. Emite o cheie de înlocuire și actualizează-ți secretele.
  4. Verifică marcajul de timp Last used al cheii revocate pentru a estima cât timp a fost expusă și dacă trebuie să auditezi activitate neobișnuită.

Cheile revocate sunt păstrate în tabel cu un badge revoked, ca înregistrare. Ele nu pot fi reactivate.

Actualizează secretele în siguranță

Tiparul standard este să stochezi cheile în variabile de mediu, nu în cod:

# .env.local (never committed)
ELIDO_API_KEY=elido_live_xxx...
import { ElidoClient } from "@elido/sdk";

const client = new ElidoClient({ apiKey: process.env.ELIDO_API_KEY! });

Pentru pipeline-urile CI, folosește depozitul de secrete al platformei tale (GitHub Actions secrets, variabile GitLab CI etc.) și rotește cheile ori de câte ori un membru cu acces părăsește echipa.

Ce se întâmplă cu integrările active

Când revoci o cheie, orice cerere aflată deja în tranzit care a trimis token-ul se va finaliza în continuare — validăm la începutul cererii, nu la mijlocul răspunsului. Cererile care încep după revocare returnează 401 Unauthorized. SDK-urile nu reîncearcă la 401 (asta ar crea o buclă), așa că integrarea ta va începe imediat să eșueze.

Planifică o fereastră scurtă de suprapunere: păstrează cheia veche activă până confirmi că cea nouă este activă în producție.

Depanare

401 pe o cheie creată recent. Token-ul afișat la creare este cheia completă, inclusiv sufixul secret. Dacă ai copiat doar prefixul din tabel (de exemplu elido_abc123), acesta nu va funcționa — prefixul este doar pentru afișare. Emite o cheie nouă și copiază token-ul complet.

Butonul Revoke lipsește. Cheia este probabil deja revocată. Cheile revocate afișează un badge revoked și niciun buton de acțiune. Verifică dacă te uiți la workspace-ul corect — cheile sunt specifice workspace-ului.

Fereastra de propagare de 60 de secunde. Dacă ai revocat o cheie și cererile reușesc încă pentru un moment, este normal. Nodurile noastre de edge sincronizează revocarea prin pub/sub Redis; întârzierea maximă este de aproximativ 60 de secunde.

Cheia a dispărut din listă. Păstrăm cheile revocate în tabel pe termen nedefinit, în scopuri de audit. Dacă nu o găsești, verifică dacă nu ai filtrat lista — nu există un filtru „doar active" implicit, dar o căutare text pe câmpul nume va ascunde rândurile care nu se potrivesc.

Ți-a fost de ajutor?
Ai nevoie de mai multe informații? Scrie echipei - răspundem în cel mult o zi lucrătoare.Contactează suportul