Első lépések
Megnyitás Markdownként

Hitelesítés

A Haszno API különböző hitelesítési mechanizmusokat használ a végponttól és a telepítés típusától függően. Ez az oldal mindegyiket elmagyarázza, és leírja, mi érhető el ma.

Mechanizmusok áttekintése

Mechanizmus Fejléc / forrás Használható a haszno.com-on? Mire való
Nincs — Igen Nyilvános demó GET-kérések (szintetikus adatok)
HTTP Basic Authorization: Basic <base64(demo:jelszó)> Igen, csapattól kapott jelszóval Teljes hozzáférés a megosztott demótelepítéshez
API Bearer-token Authorization: Bearer haszno_<token> Csak a GET /api/auth/me végponton (lásd alább) A token felhasználójának, boltjának és jogosultsági körének ellenőrzése
x-api-key x-api-key: <kulcs> vagy ?api_key=<kulcs> Nem Csak saját telepítéseken
Munkamenet-cookie Cookie haszno_session Igen A fiók- és munkamenet-végpontok; a /api/auth/register vagy a /api/auth/login hozza létre

A Bearer-token még nem általános API-hitelesítési adat. Ma egyetlen végpont ellenőrzi: a GET /api/auth/me, a haszno.com-on és a saját telepítéseken egyaránt. A teljes képért lásd az API Bearer-tokenek részt.

Nyilvános demó — nincs szükség hitelesítési adatokra

Egyes GET-végpontok szintetikus demóadatot adnak vissza bármilyen hitelesítési adat nélkül. Ha teljesen kihagyod az Authorization fejlécet, a válasz hitelesítés nélkül kerül kiszolgálásra. Ha küldesz Authorization fejlécet, a kérés a HTTP Basic falon megy át: érvénytelen adatokkal 401-et kapsz, érvényes Basic fejléccel pedig a telepítés megosztott adatait kapod a szintetikus adatok helyett.

A https://haszno.com-on hitelesítési adatok nélkül elérhető végpontok Nyilvános Csak olvasás:

Útvonal Visszaad
GET /api/categories Kategória-taxonómia (14 kategória)
GET /api/products Terméklista árazással és piaci adatokkal
GET /api/products/supplier-counts Termékszámok beszállítónként
GET /api/suppliers Beszállítólista
GET /api/stats Irányítópult összesítő számok
GET /api/settings Árazási szabályok (demó alapértékek)
GET /api/impact Haszon-mérő részletezés
GET /api/orders Rendeléslista (a demón mindig [])
GET /api/proposals Árjavaslatok (a demón mindig [])
GET /api/import-list Import-lista tételek
GET /api/peers/invites Peer meghívókódok (a demón mindig [])
GET /api/peers/links Peer linkek (a demón mindig [])
GET /api/health Élőképesség-ellenőrzés
GET /api/geo Látogató országkódja
GET /api/blog és GET /api/blog/:slug Közzétett piaci elemzők (valós adatok)
GET /llms.txt LLM-olvasható oldal-összefoglaló

A /api/settings és /api/impact válaszokban szerepel a "demo": true mező. A többi demóvégpont (kategóriák, termékek, beszállítók, statisztikák, rendelések, javaslatok, peerek, import-lista) ezt a jelzőt nem tartalmazza.

HTTP Basic hitelesítés — védett demóhozzáférés

A https://haszno.com hosztolt demójának van egy külső hitelesítési fala, amely a fenti nyilvános listán nem szereplő végpontokat védi, kivéve néhányat, amelynek saját védelme van, például a fiók- és munkamenet-végpontokat. Ez a fal HTTP Basic hitelesítést használ.

Hitelesítési adatok Védett:

username: demo
password: <keresd meg a Haszno csapatát>

Ez egy megosztott hitelesítési adat a demótelepítéshez. Nem boltonkénti, és nem éles API. A jelszóért vedd fel a kapcsolatot a Haszno csapatával.

Küldd el a hitelesítési adatot szabványos Authorization: Basic fejlécként:

curl --fail-with-body \
  --user 'demo:<jelszó>' \
  'https://haszno.com/api/rules'

Vagy a CLI és az MCP-szerver által is olvasott HASZNO_BASIC környezeti változóval:

export HASZNO_BASIC='demo:<jelszó>'
haszno rules list --json

HTTP Basic hozzáféréssel meghívhatod az összes hitelesítést igénylő végpontot, beleértve az írási műveleteket is (rendelésbeküldés, szabálykezelés, feed-import, beállítások frissítése).

API Bearer-tokenek

Az API Bearer-tokeneket agentek, CLI és MCP-szerver általi hozzáféréshez tervezték. A tervezett hosszú távú mechanizmus a boltonkénti programozott hozzáférésre.

Token formátuma

A tokeneket haszno_<43 karakter> alakban adják ki, ahol a 43 karakter base64url (A–Z, a–z, 0–9, -, _). A haszno_-val kezdődő teljes sztring a tokenérték, amelyet el kell küldeni.

Authorization: Bearer haszno_<a-te-tokened>

Token létrehozása

  1. Regisztrálj a https://haszno.com oldalon (a POST /api/auth/register végponton) vagy lépj be (POST /api/auth/login). Mindkettő munkamenet-cookie-t ad vissza.
  2. A munkamenet-cookie-val hívd meg a POST /api/auth/tokens végpontot {"name": "…", "scope": "read"} JSON-törzzsel (a scope értéke read vagy write, alapértelmezés: read) egy token kiadásához.
  3. Másold ki a válasz token mezőjét — csak egyszer jelenik meg, és csak hashként tárolódik.

Az aktív tokeneket listázhatod (GET /api/auth/tokens) és visszavonhatod (DELETE /api/auth/tokens/:id) ugyanazzal a munkamenet-cookie-val. Tokenekkel nem kezelhetsz tokeneket: ez a három végpont csak a munkamenet-cookie-t fogadja el.

Mire használhatók ma a Bearer-tokenek

Ma a GET /api/auth/me az egyetlen végpont, amely Bearer-tokent ellenőriz. A token felhasználóját, boltját és tokenScope értékét adja vissza. Más útvonal egyelőre nem fogad el Bearer-tokent hitelesítési adatként.

Telepítés Bearer-token eredménye
haszno.com (hosztolt demó) A GET /api/auth/me visszaadja a token felhasználóját és boltját. Minden más védett útvonal 401-et ad a HTTP Basic falról.
Saját telepítés beállított HASZNO_API_KEY-jel A GET /api/auth/me működik. Minden más útvonalhoz továbbra is x-api-key kell; csak tokennel 401-et kapsz.
Saját telepítés bármilyen kulcsvédelem nélkül Minden útvonal nyitott; a tokenre nincs szükség.

Tervezett: boltonkénti Bearer-tokenek a haszno.com-on, amint a multi-tenancy kikerül a fejlesztői előzetesből.

x-api-key — csak saját telepítésen

Saját Haszno-példányon beállíthatod a HASZNO_API_KEY környezeti változót. Az összes kérés, amely ezt az értéket az x-api-key fejlécben vagy ?api_key= lekérdezési paraméterként tartalmazza, munkamenet nélkül is elfogadásra kerül.

Ez a mechanizmus nem aktív a haszno.com-on. A hosztolt telepítésen nincs beállítva a környezeti változó.

A hitelesítési adatok biztonságos tárolása

  • Tárolj hitelesítési adatokat környezeti változókban, ne forráskódban vagy verziókezelt konfigurációs fájlokban.
  • A demójelszóhoz használd a HASZNO_BASIC-ot, az API-kulcshoz a HASZNO_API_KEY-t. A CLI és az MCP-szerver ezeket automatikusan olvassa.
  • Futtasd a haszno login parancsot a hitelesítési adatok mentéséhez (~/.config/haszno/config.json, chmod 600 jogosultsággal létrehozva). Mind a CLI, mind az MCP-szerver olvas ebből a fájlból.
  • Soha ne adj meg hitelesítési adatot parancssori argumentumként megosztott shell-környezetben — megjelenik a ps kimenetében és a shell-előzményekben.
  • Listázd az aktív tokeneket a GET /api/auth/tokens végponttal; vond vissza a feleslegeseket a DELETE /api/auth/tokens/:id végponttal.

Hibaválaszok

Státusz Jelentés
401 Az Authorization fejléc jelen van, de a hitelesítési adatok hiányoznak, rosszul formázottak vagy érvénytelenek. A fiókvégpontok akkor is 401-et adnak, ha munkamenetet várnak, de nincs érvényes. Javítsd ki a hitelesítési adatot, és próbáld újra.
403 A kérést a CSRF-middleware utasította el. Ez állapotmódosító kéréseknél fordul elő, amelyek váratlan Origin-ből érkeznek. API- vagy CLI-kliensek számára, amelyek nem használnak cookie-munkamenetet, ez nem releváns.

A hibaüzenetek törzse mindig a { "error": "Magyar hibaüzenet" } alakot követi. A teljes hibareferenciáért lásd a Hibák és sebességkorlátok oldalt.

Az API hibaüzenetei jelenleg magyarul kerülnek visszaadásra, tekintet nélkül az Accept-Language fejlécre vagy a dokumentáció nyelvi beállítására. Ez az általános elérhetőség előtt megváltozik.