Uwierzytelnianie
Dwa poświadczenia — klucz API dla maszyn, sesja dla konsoli — oraz reguły, które je rozdzielają.
Dwa rodzaje poświadczeń
API przyjmuje klucz API. Konsola przyjmuje ciasteczko sesyjne. Nie są wymienne, a API to wymusza, zamiast decydować przy każdym żądaniu, czy ciasteczko miało się tam znaleźć.
Żądanie uwierzytelnione ciasteczkiem sesyjnym otrzymuje 403 api_key_required, z komunikatem wskazującym stronę kluczy w konsoli. To celowe: skoro nie ma ścieżki do API uwierzytelnianej ciasteczkiem, żądanie cross-site nie ma czego podrobić.
Nagłówek
Wyślij klucz jako token bearer. Klucz to prefiks, kropka i sekret; prefiks identyfikuje wiersz, więc unieważnienie jest natychmiastowe i kosztuje jedno wyszukanie.
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"}]}'
Zakresy
Klucz niesie jeden lub więcej zakresów. Żądanie, którego klucz nie ma zakresu wymaganego przez endpoint, jest odrzucane z 403 insufficient_scope, zanim treść żądania zostanie przeanalizowana.
| Zakres | Odblokowuje |
|---|---|
| inference | Uzupełnienia czatu, osadzenia oraz endpointy listy i szczegółów modeli. |
| platform_read | Odczyt Twojej organizacji: profil, klucze, użycie, ślady i polityki. |
| platform_write | Tworzenie i unieważnianie kluczy oraz tworzenie i edycja polityk. To zakres, który zmienia, kto może co robić, więc nadawaj go świadomie. |
Zakresy są sprawdzane dla każdego endpointu, nie dla każdego klucza. Klucz z platform_read nie może wydawać środków przez playground.
Tworzenie klucza
W konsoli albo przez API platformy z kluczem, który już ma platform_write. Sekret jest pokazywany raz, przy tworzeniu: przechowywany jest tylko hash scrypt, więc nikt — łącznie z nami — nie może go odczytać.
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"]}'
Czynności administracyjne w konsoli — polityki, zespół, ustawienia, środki, unieważnianie kluczy — są tylko dla właściciela lub administratora, niezależnie od zakresów, jakie ma klucz.
Unieważnianie i czym klucz nie jest
Klucz należy do organizacji, a organizacja jest ustalana na podstawie samego klucza — nigdy na podstawie pola w treści żądania, więc wywołujący nie może zaadresować innego tenanta, prosząc uprzejmie. Unieważnienie działa przy następnym żądaniu. Rotacja oznacza utworzenie drugiego klucza, przeniesienie ruchu, a następnie unieważnienie pierwszego; nie ma okna nakładania się do skonfigurowania.
Zamiast tego dla konsoli
Logowanie, odzyskiwanie hasła i weryfikacja adresu są opisane wraz z konsolą. Nie ma OAuth, SAML ani osobistego tokena dostępu: konsola używa ciasteczka sesyjnego, API używa kluczy.