Автентикация

Две удостоверения — API ключ за машини, сесия за конзолата — и правилата, които ги разделят.

Два вида удостоверения

API приема API ключ. Конзолата приема сесийна бисквитка. Те не са взаимозаменяеми и API налага това, вместо да решава за всяка заявка дали бисквитка е трябвало да присъства.

Влязъл браузър не може да извиква API

Заявка, удостоверена със сесийна бисквитка, получава 403 api_key_required със съобщение, което сочи към страницата с ключове в конзолата. Това е умишлено: без път към API, удостоверен с бисквитка, няма нищо, което междусайтова заявка да подправи.

Заглавката

Изпратете ключа като bearer token. Ключът е префикс, точка и тайна; префиксът идентифицира реда, така че отнемането е незабавно и струва едно търсене.

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"}]}'

Обхвати

Ключът носи един или повече обхвати. Заявка, чийто ключ няма обхвата, който изисква дадена крайна точка, се отказва с 403 insufficient_scope, преди тялото да бъде анализирано.

Обхват Отключва
inference Завършвания на чат, вграждания и крайните точки за списък и подробности за модели.
platform_read Четене на вашата организация: профил, ключове, използване, проследявания и политики.
platform_write Създаване и отнемане на ключове и създаване или редактиране на политики. Това е обхватът, който променя кой какво може да прави, затова го издавайте внимателно.

Обхватите се проверяват за всяка крайна точка, не за всеки ключ. Ключ с platform_read не може да харчи кредит през площадката за тестване.

Създаване на ключ

В конзолата или през platform API с ключ, който вече носи platform_write. Тайната се показва веднъж, при създаването: съхранява се само scrypt хеш, така че никой — включително ние — не може да я прочете обратно.

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"]}'

Административните действия в конзолата — политики, екип, настройки, кредит, отнемане на ключове — са само за собственик или администратор, независимо какви обхвати носи даден ключ.

Отнемане и какво ключът не е

Ключът принадлежи на организация и организацията се определя от самия ключ — никога от поле в тялото на заявката, така че извикващият не може да се обърне към друг наемател с учтива молба. Отнемането влиза в сила при следващата заявка. Ротацията означава създаване на втори ключ, преместване на трафика и след това отнемане на първия; няма прозорец за застъпване, който да се конфигурира.

Вместо това за конзолата

Влизането, възстановяването на парола и потвърждаването на адрес са документирани с конзолата. Няма OAuth, нито SAML, нито персонален токен за достъп: конзолата използва сесийна бисквитка, API използва ключове.