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
- Regisztrálj a
https://haszno.comoldalon (aPOST /api/auth/registervégponton) vagy lépj be (POST /api/auth/login). Mindkettő munkamenet-cookie-t ad vissza. - A munkamenet-cookie-val hívd meg a
POST /api/auth/tokensvégpontot{"name": "…", "scope": "read"}JSON-törzzsel (ascopeértékereadvagywrite, alapértelmezés:read) egy token kiadásához. - Másold ki a válasz
tokenmező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 aHASZNO_API_KEY-t. A CLI és az MCP-szerver ezeket automatikusan olvassa. - Futtasd a
haszno loginparancsot a hitelesítési adatok mentéséhez (~/.config/haszno/config.json,chmod 600jogosultsá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
pskimenetében és a shell-előzményekben. - Listázd az aktív tokeneket a
GET /api/auth/tokensvégponttal; vond vissza a feleslegeseket aDELETE /api/auth/tokens/:idvé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.
.com