Ugrás a tartalomra
Hitelesítés

Hitelesítés

Minden kérés egy fejlécben viszi az API-kulcsodat. Fiókonként egy kulcs működik minden végponton és minden modellen, kétféle fejlécformában.

Fejléc · OpenAI SDK-k
Authorization: Bearer YOUR_API_KEY
Fejléc · Anthropic SDK-k
x-api-key: YOUR_API_KEY

Elfogadott fejlécek

Mindkét fejlécet olvassa minden /v1 végpont, bármelyik formátumot beszéli is. Az egyiket küldd.

Fejléc Leírás
Authorization: Bearer <key> Ezt ellenőrzi először. A Bearer szót nagy B-vel és egy szóközzel írd a kulcs elé. Az OpenAI SDK-k ezt a fejlécet küldik.
x-api-key: <key> Akkor olvassa a rendszer, ha a kérésben nincs Authorization: Bearer fejléc. Az Anthropic SDK-k ezt a fejlécet küldik.

OpenAI SDK-val add meg a kulcsot és az alap URL-t; az SDK az Authorization: Bearer fejlécet küldi.

from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.shannon-ai.com/v1"
)

response = client.chat.completions.create(
    model="shannon-3",
    messages=[
        {"role": "user", "content": "Hello, Shannon!"}
    ]
)

print(response.choices[0].message.content)

Anthropic SDK-val add meg a kulcsot és az alap URL-t /v1 nélkül; az SDK az x-api-key fejlécet küldi.

import anthropic

client = anthropic.Anthropic(
    api_key="YOUR_API_KEY",
    base_url="https://api.shannon-ai.com"
)

message = client.messages.create(
    model="shannon-3",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Hello, Shannon!"}
    ]
)

print("".join(block.text for block in message.content if block.type == "text"))

Mely végpontokhoz kell kulcs

Végpont Kulcs
POST /v1/chat/completions Kötelező
POST /v1/messages Kötelező
POST /v1/responses Kötelező
POST /v1/tokenize Kötelező
POST /v1/messages/count_tokens Kötelező
GET /v1/models Nem kell

A kulcsod

  • A kulcs az sk- előtag, majd 43 karakter az A–Z, a–z, 0–9, - és _ készletből: összesen 46 karakter.
  • Minden fiókhoz pontosan egy kulcs tartozik. Akkor jön létre, amikor először megnyitod a Keys & usage oldalt.
  • A kulcs teljes hozzáférést ad a fiókod API-jához: minden végponthoz, minden modellhez és a teljes egyenleghez.
  • A kulcsnak nincs lejárati ideje. Addig működik, amíg le nem cseréled vagy vissza nem vonod.

Csere és visszavonás

A kulcsot a Keys & usage oldalon cseréled le és vonod vissza. Keys & usage

Művelet Mi történik
Csere Új kulcs készül, a régi nem működik tovább. Az új kulcs azonnal működik.
Visszavonás A kulcs nem működik tovább, és nem kapsz újat. Cserélj, hogy újra működő kulcsod legyen.
  • Mindkettő azonnal életbe lép: a régi kulccsal küldött következő kérésre 401 a válasz. Számolj 60 másodperc felső korláttal, mire a régi kulcsot mindenütt elutasítják.
  • A fiók minden kliense ugyanazt a kulcsot használja, ezért a csere mindegyiket érinti. A csere után azonnal told be az új kulcsot a klienseidbe.
  • Az egyenleg, a használat és a flood protection a fiókhoz tartozik, nem a kulcshoz. Az új kulcs ugyanazzal az egyenleggel és az aktuális perc ugyanazon kérésszámával folytatja.

Hibák

Minden hitelesítési hiba státusza 401, típusa authentication_error. Az üzenet különbözteti meg az eseteket.

Státusz Típus Üzenet Mikor
401 authentication_error Missing authentication A kérésben nincs sem Authorization: Bearer fejléc, sem sk- előtaggal kezdődő x-api-key fejléc. Ez a válasz a kisbetűs bearer és a Bearer nélküli Authorization értékre is.
401 authentication_error Invalid API key A kulcs nem egy fiók jelenlegi kulcsa: elírták, vissza lett vonva, vagy csere váltotta le.
{
  "error": {
    "type": "authentication_error",
    "message": "Invalid API key",
    "code": "invalid_api_key",
    "param": null
  }
}
  • A /v1/messages kivételével minden útvonalon az error objektum tartalmazza még a code: "invalid_api_key" mezőt is, hiányzó kulcs esetén is, valamint a param: null mezőt.
  • A kulcsot a rendszer a törzs beolvasása előtt ellenőrzi. Érvényes kulcs nélküli kérés akkor is 401-et kap, ha a törzse érvénytelen vagy túl nagy.
  • Az sk- előtaggal nem kezdődő Authorization: Bearer értéket a rendszer nem kezeli API-kulcsként. 401-et kap, azzal az üzenettel, hogy a token érvénytelen vagy lejárt.

Böngészők és CORS

  • Az API csak rögzített originlistára válaszol a cross-origin böngészőkérésekre. Egy másik origin oldalán futó JavaScript nem olvashatja a /v1 válaszokat.
  • Az API-t a szerveredről hívd, és az oldalad a szerveroddal beszéljen. Így a kulcs a forráskódban sem jelenik meg.
  • A szerveroldali kódot és a parancssori eszközöket ez nem érinti: ezt a szabályt csak a böngészők alkalmazzák.
  • A shannon-ai.com-on történt bejelentkezés nem hitelesíti a /v1 kéréseket. A cookie-kat ott nem olvassa a rendszer; a kulcs az egyetlen hitelesítő adat.
  • Engedélyezett origin esetén a böngésző küldhet content-type, authorization, x-api-key, anthropic-version, anthropic-beta, openai-beta és x-request-id fejlécet, és olvashatja az x-request-id válaszfejlécet.

A kulcs biztonságban tartása

  • Tartsd a kulcsot szerveren. Ne tedd weboldalra, mobilalkalmazásba vagy nyilvános repositoryba: aki birtokolja, elkölthet a teljes egyenlegedből.
  • A kulcsot környezeti változóból vagy titokkezelőből töltsd be, ne írd a kódba.
  • Ha a kulcs kiszivároghatott, cseréld le a Keys & usage oldalon. A régi kulcs azonnal megszűnik működni.
  • Kiszivárgás után nézd meg a kérések listáját a Keys & usage oldalon. Megmutatja a kulcs minden kérését az elmúlt 30 napból.