Autentificare

Două credențiale — o cheie API pentru mașini, o sesiune pentru consolă — și regulile care le țin separate.

Două tipuri de credențiale

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.

Un browser autentificat nu poate apela API-ul

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 poată falsifica.

Antetul

Trimiteți cheia ca token bearer. O cheie este un prefix, un punct și un secret; prefixul identifică înregistrarea, așa că revocarea este imediată și costă o singură căutare.

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

O cheie poartă unul sau mai multe domenii. O cerere a cărei cheie nu are domeniul cerut de un endpoint este refuzată cu 403 insufficient_scope, înainte ca corpul să fie analizat.

Domeniu Deblochează
inference Completări de chat, embeddings și endpoint-urile de listare și de detalii ale modelelor.
platform_read Citește organizația dumneavoastră: profil, chei, utilizare, urme și politici.
platform_write Creează și revocă chei și creează sau editează politici. Acesta este domeniul care schimbă cine poate face ce, așa că emiteți-l cu intenție.

Domeniile 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 de platformă cu o cheie care poartă deja platform_write. Secretul este afișat o singură dată, când este creat: se stochează doar un hash scrypt, așa că 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 pe care le poartă o cheie.

Revocarea și ce nu este o cheie

O cheie aparține unei organizații, iar organizația este determinată din cheia însăși — niciodată dintr-un câmp din corpul cererii, așa că un apelant nu poate adresa alt tenant cerând frumos. Revocarea produce efecte la următoarea cerere. Rotirea înseamnă crearea unei a doua chei, mutarea traficului, apoi revocarea primei; nu există fereastră de suprapunere de configurat.

Pentru consolă, în schimb

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.