Autentificare
Două acreditări — o cheie API pentru mașini, o sesiune pentru consolă — și regulile care le țin separate.
Două tipuri de acreditări
API-ul acceptă o cheie API. Consola acceptă un cookie de sesiune. Nu sunt interschimbabile, iar API-ul impune acest lucru în loc să decidă cerere cu cerere dacă un cookie ar fi trebuit să fie acolo.
O cerere autentificată cu un cookie de sesiune primește 403 api_key_required, cu un mesaj care indică pagina de chei a consolei. Acest lucru este intenționat: fără o cale autentificată prin cookie către API, nu există nimic pe care o cerere cross-site să îl falsifice.
Antetul
Trimiteți cheia ca token bearer. O cheie este un prefix, un punct și un secret; prefixul identifică rândul, astfel încât revocarea este imediată și costă o singură interogare.
curl https://api.llmeu.com/v1/chat/completions \
-H "Authorization: Bearer llmeu_live_xxxxxxxx.your-secret" \
-H "Content-Type: application/json" \
-d '{"model":"llmeu-auto","messages":[{"role":"user","content":"Hello"}]}'
Domenii de aplicare
O cheie poartă unul sau mai multe domenii de aplicare. O cerere a cărei cheie nu are domeniul de aplicare necesar unui endpoint este refuzată cu 403 insufficient_scope, înainte ca corpul să fie analizat.
| Domeniu de aplicare | Deblochează |
|---|---|
| inference | Completări de chat, embeddings și endpointurile de listare și detaliere a modelelor. |
| platform_read | Citiți organizația dvs.: profil, chei, utilizare, trace-uri și politici. |
| platform_write | Creați și revocați chei și creați sau editați politici. Acesta este domeniul de aplicare care schimbă cine poate face ce, așa că emiteți-l în mod deliberat. |
Domeniile de aplicare sunt verificate per endpoint, nu per cheie. O cheie cu platform_read nu poate cheltui credit prin playground.
Crearea unei chei
În consolă sau prin API-ul platformei cu o cheie care are deja platform_write. Secretul este afișat o singură dată, la creare: se stochează doar un hash scrypt, astfel încât nimeni — nici noi — nu îl poate citi înapoi.
curl -X POST https://api.llmeu.com/platform/v1/api-keys \
-H "Authorization: Bearer llmeu_live_xxxxxxxx.a-platform-write-key" \
-H "Content-Type: application/json" \
-d '{"name":"ci","scopes":["inference"]}'
Acțiunile administrative din consolă — politici, echipă, setări, credit, revocarea cheilor — sunt permise doar proprietarului sau administratorului, indiferent de domeniile de aplicare pe care le are o cheie.
Revocare și ce nu este o cheie
O cheie aparține unei organizații, iar organizația este rezolvată din cheia însăși — niciodată dintr-un câmp din corpul cererii, astfel încât un apelant nu se poate adresa altui tenant cerând frumos. Revocarea are efect la următoarea cerere. Rotirea înseamnă să creați o a doua cheie, să mutați traficul, apoi să o revocați pe prima; nu există fereastră de suprapunere de configurat.
În schimb, pentru consolă
Autentificarea, recuperarea parolei și verificarea adresei sunt documentate împreună cu consola. Nu există OAuth, nici SAML și nici token de acces personal: consola folosește un cookie de sesiune, API-ul folosește chei.