Autentisering
Två autentiseringsuppgifter — en API-nyckel för maskiner, en session för konsolen — och reglerna som håller dem åtskilda.
Två typer av autentiseringsuppgifter
API:et tar en API-nyckel. Konsolen tar en sessionscookie. De kan inte bytas mot varandra, och API:et upprätthåller det i stället för att avgöra från begäran till begäran om en cookie var avsedd att vara där.
En begäran som autentiseras med en sessionscookie får 403 api_key_required, med ett meddelande som hänvisar till konsolens nyckelsida. Det är avsiktligt: utan någon cookie-autentiserad väg in i API:et finns det inget för en begäran från en annan webbplats att förfalska.
Headern
Skicka nyckeln som en bearer-token. En nyckel består av ett prefix, en punkt och en hemlighet; prefixet identifierar raden, så återkallelse sker omedelbart och kostar en uppslagning.
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"}]}'
Omfattningar
En nyckel har en eller flera omfattningar. En begäran vars nyckel saknar den omfattning som en slutpunkt kräver avvisas med 403 insufficient_scope, innan innehållet tolkas.
| Omfattning | Ger åtkomst till |
|---|---|
| inference | Chattkompletteringar, inbäddningar samt slutpunkterna för modellista och modellinformation. |
| platform_read | Läs din organisation: profil, nycklar, användning, spårningar och policyer. |
| platform_write | Skapa och återkalla nycklar samt skapa eller redigera policyer. Det här är omfattningen som ändrar vem som får göra vad, så utfärda den med avsikt. |
Omfattningar kontrolleras per slutpunkt, inte per nyckel. En nyckel med platform_read kan inte förbruka kredit via testmiljön.
Skapa en nyckel
I konsolen, eller via plattforms-API:et med en nyckel som redan har platform_write. Hemligheten visas en gång, när den skapas: bara en scrypt-hash lagras, så ingen — inte ens vi — kan läsa den igen.
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"]}'
Administrativa åtgärder i konsolen — policyer, team, inställningar, kredit, återkalla nycklar — är endast för ägare eller administratörer, oavsett vilka omfattningar en nyckel har.
Återkallelse, och vad en nyckel inte är
En nyckel tillhör en organisation, och organisationen bestäms utifrån nyckeln själv — aldrig utifrån ett fält i begärans innehåll, så en anropare kan inte vända sig till en annan klient genom att fråga snällt. Återkallelse får verkan vid nästa begäran. Rotation innebär att skapa en andra nyckel, flytta trafiken och sedan återkalla den första; det finns inget överlappningsfönster att konfigurera.
För konsolen i stället
Inloggning, lösenordsåterställning och adressverifiering dokumenteras tillsammans med konsolen. Det finns ingen OAuth, ingen SAML och ingen personlig åtkomsttoken: konsolen använder en sessionscookie, API:et använder nycklar.