API autentifikácia
API autentifikácia
Táto obrazovka slúži na správu Bearer tokenov pre API integrácie a sledovanie migrácie z HTTP Basic autentifikácie. Prídeš sem, keď potrebuješ vygenerovať nové client credentials pre externú aplikáciu, rotovať existujúce tokeny alebo skontrolovať, ktoré spojenia ešte používajú zastaraný Basic auth pred jeho vypnutím.
Kde to nájdeš
V ľavom menu klikni na Nastavenia → API autentifikácia. Adresa v prehliadači bude /manager/settings/apiauth/. Obrazovka je prístupná len pre super-admina (admin_id = 1). Ak nie si super-admin, zobrazí sa ti hláška „Iba super-admin môže spravovať API tokeny." a žiadne ďalšie funkcie neuvidíš.
Obrazovka neobsahuje vnútorné záložky – všetky sekcie (štatistiky, tabuľka spojení, top používatelia Basic auth) sú na jednej stránke pod sebou.
Čo tu môžeš robiť
- Vygenerovať nový client_id a client_secret – klikneš na tlačidlo „Generovať" alebo „Rotovať" v riadku spojenia. Zobrazí sa modálne okno s novými credentials, ktoré musíš hneď skopírovať (secret sa už nikdy nezobrazí).
- Rotovať existujúci secret – ak spojenie už má client_secret, tlačidlo sa volá „Rotovať". Starý secret sa zneplatní a vygeneruje sa nový.
- Hashnúť plaintext heslo – ak spojenie má heslo uložené ako plaintext (nie argon2id hash), klikneš na „Hashnúť heslo". Heslo sa prevedie na bezpečný hash a plaintext sa vymaže.
- Zrušiť všetky refresh tokeny – klikneš na „Revoke RT" v riadku spojenia. Všetky aktívne refresh tokeny pre toto spojenie sa okamžite zneplatnia a aplikácia sa bude musieť znova prihlásiť cez client credentials.
- Zmeniť auth mode – v stĺpci „Mode" vyberieš z dropdownu „both" (povolené Basic aj Bearer), „bearer only" (len Bearer) alebo „basic only" (len Basic). Zmena sa uloží automaticky po výbere.
- Skopírovať client_id – v modálnom okne po generovaní credentials klikneš na tlačidlo „copy" vedľa client_id alebo client_secret. Hodnota sa skopíruje do schránky.
- Otvoriť dokumentáciu – v hornom banneri klikneš na odkaz „Otvoriť dokumentáciu →". Otvorí sa nová záložka s API dokumentáciou pre Bearer autentifikáciu.
- Skontrolovať štatistiky – v hornej časti vidíš 4 boxíky: celkový počet aktívnych spojení, koľko z nich je migrovaných na Bearer, počet aktívnych refresh tokenov a počet Basic volaní za posledných 7 dní. Tieto čísla sa aktualizujú po obnovení stránky.
- Sledovať top používateľov Basic auth – v dolnej tabuľke vidíš, ktoré používateľské mená a endpointy najčastejšie volali API cez Basic auth za posledných 7 dní. Ak je tabuľka prázdna, môžeš pokojne vypnúť Basic auth.
Postup krok za krokom
Vygenerovanie nových client credentials pre API spojenie
- V tabuľke „Spojenia" nájdi riadok s názvom spojenia, pre ktoré chceš vygenerovať credentials (napr. „Booking Engine" alebo „CRM integrácia").
- V stĺpci „Akcie" klikni na tlačidlo Generovať (ak spojenie ešte nemá client_secret) alebo Rotovať (ak už secret existuje a chceš ho vymeniť).
- Potvrď akciu v dialógovom okne („Vygenerovať nový client_id a client_secret? Starý secret bude neplatný.").
- Zobrazí sa modálne okno s nadpisom „Nové client credentials". Okamžite klikni na tlačidlo copy vedľa client_id a client_secret a ulož si ich do bezpečného úložiska (napr. password manager). Upozornenie: client_secret sa po zatvorení okna už nikdy nezobrazí.
- Po skopírovaní klikni na tlačidlo Zatvoriť. Stránka sa automaticky obnoví a v stĺpci „Bearer secret" uvidíš zelený tag „✓ uložený" s dátumom rotácie.
- V externej aplikácii (napr. booking engine) nahraď staré credentials novými. Testuj, či API volania fungujú.
- Ak chceš zakázať Basic auth pre toto spojenie, v stĺpci „Mode" vyber z dropdownu bearer only. Zmena sa uloží automaticky.
Kontrola, ktoré spojenia ešte používajú Basic auth
- V hornej časti obrazovky pozri štatistiku „Basic volania (7 dní)". Ak je číslo väčšie ako 0, niektoré spojenia ešte používajú Basic auth.
- V tabuľke „Spojenia" skontroluj stĺpec „Posledné Basic volanie". Ak vidíš žltý tag s dátumom a časom (napr. „15.01.2025 14:32"), toto spojenie nedávno volalo API cez Basic.
- V dolnej tabuľke „Top používatelia Basic auth (posledných 7 dní)" nájdi riadok s používateľským menom spojenia. V stĺpci „Endpoint" vidíš, ktorý konkrétny endpoint volalo (napr.
/api/reservations). - Kontaktuj správcu externej aplikácie a požiadaj ho o migráciu na Bearer auth. Pošli mu client_id a client_secret (vygeneruj ich podľa postupu vyššie).
- Po migrácii skontroluj, či v tabuľke „Top používatelia Basic auth" už nevidíš toto používateľské meno. Ak je tabuľka prázdna a zobrazí sa text „Žiadne Basic volania za posledných 7 dní – môžete pokojne vypnúť Basic.", môžeš pre toto spojenie nastaviť mode na „bearer only".
- V hornom banneri sleduj odpočet „zostáva X dní" do sunset dátumu. Ak je číslo červené a píše „Basic už NIE JE povolené", všetky Basic volania budú odmietnuté.
Polia, stĺpce a nastavenia
- Spojenie – názov API spojenia (napr. „Booking Engine", „CRM integrácia") a pod ním username, ktorý sa používa pri autentifikácii. Názov slúži len na identifikáciu, username je skutočný identifikátor v API volaniach.
- client_id – unikátny identifikátor spojenia pre Bearer autentifikáciu. Generuje sa automaticky pri kliknutí na „Generovať" alebo „Rotovať". Ak vidíš pomlčku (—), spojenie ešte nemá Bearer credentials a používa len Basic auth. Client_id sa posiela v tele POST requestu na
/api/auth/v2/tokenspolu s client_secret. - Bearer secret – indikátor, či je pre spojenie uložený client_secret hash. Zelený tag „✓ uložený" znamená, že secret existuje a je zahashovaný v databáze. Pod tagom vidíš dátum poslednej rotácie (napr. „15.01.2025"). Šedý tag „chýba" znamená, že spojenie nemá Bearer credentials. Client_secret sa zobrazí len raz pri generovaní – potom je uložený len jeho hash a plaintext sa nedá obnoviť.
- Password hash – typ hashovania hesla pre Basic auth. Zelený tag „✓ argon2id" znamená, že heslo je bezpečne zahashované. Žltý tag „plaintext" znamená, že heslo je uložené ako čistý text (nebezpečné). Ak vidíš plaintext, klikni na tlačidlo „Hashnúť heslo" v stĺpci „Akcie" – heslo sa prevedie na argon2id hash a plaintext sa vymaže.
- Mode – dropdown s tromi možnosťami: „both" (povolené Basic aj Bearer), „bearer only" (len Bearer, Basic volania budú odmietnuté), „basic only" (len Basic, Bearer volania budú odmietnuté). Zmena sa uloží automaticky po výbere z dropdownu. Odporúčaný postup: po migrácii na Bearer nastav „bearer only", aby sa zabránilo náhodnému použitiu Basic auth.
- Posledné Basic volanie – dátum a čas posledného API volania cez HTTP Basic auth. Ak vidíš žltý tag s dátumom (napr. „15.01.2025 14:32"), spojenie nedávno používalo Basic. Pomlčka (—) znamená, že spojenie nikdy nevolalo API cez Basic alebo už prešlo na Bearer. Tento stĺpec pomáha identifikovať, ktoré spojenia ešte treba migrovať.
- Akcie – Generovať / Rotovať – modré tlačidlo na vygenerovanie nových client credentials. Ak spojenie nemá client_secret, tlačidlo sa volá „Generovať". Ak už secret existuje, tlačidlo sa volá „Rotovať" a starý secret sa zneplatní. Po kliknutí sa zobrazí modálne okno s client_id a client_secret – musíš ich hneď skopírovať, lebo secret sa už nikdy nezobrazí.
- Akcie – Hashnúť heslo – šedé tlačidlo, ktoré sa zobrazí len ak spojenie má heslo uložené ako plaintext (nie argon2id hash). Po kliknutí sa heslo prevedie na bezpečný hash a plaintext sa vymaže z databázy. Tlačidlo zmizne po zahashovaní.
- Akcie – Revoke RT – šedé tlačidlo „Revoke RT" (Revoke Refresh Tokens). Zobrazí sa len ak spojenie má vygenerovaný client_secret. Po kliknutí sa zrušia všetky aktívne refresh tokeny pre toto spojenie – externá aplikácia sa bude musieť znova prihlásiť cez client credentials. Použiješ ho, ak podozrievaš kompromitáciu tokenu alebo chceš vynútiť opätovné prihlásenie.
- Aktívne API spojenia – štatistika v hornej časti obrazovky. Zobrazuje celkový počet spojení, ktoré majú status = 1 a deleted = 0. Číslo sa aktualizuje po obnovení stránky. Nezahŕňa vymazané alebo deaktivované spojenia.
- Migrované na Bearer – štatistika zobrazujúca „X / Y", kde X je počet spojení s vyplneným client_id a Y je celkový počet aktívnych spojení. Ak X = Y, všetky spojenia majú Bearer credentials. Ak X < Y, niektoré spojenia ešte nemajú vygenerované credentials.
- Aktívne refresh tokeny – počet refresh tokenov so statusom „active" a expires_at > NOW(). Refresh tokeny sa generujú pri úspešnom prihlásení cez client credentials a slúžia na obnovenie access tokenu bez opätovného posielania client_secret. Vysoké číslo (napr. stovky tokenov) môže indikovať, že aplikácia sa často prihlasuje namiesto obnovovania tokenov.
- Basic volania (7 dní) – počet API volaní cez HTTP Basic auth za posledných 7 dní. Ak je číslo väčšie ako 0, niektoré spojenia ešte používajú Basic. Ak je 0, môžeš pokojne vypnúť Basic auth (nastav mode na „bearer only" pre všetky spojenia). Štatistika je červená, ak je číslo > 0.
- Sunset HTTP Basic auth – banner v hornej časti obrazovky s dátumom, kedy bude Basic auth úplne vypnutý (napr. „15.06.2026"). Pod dátumom vidíš odpočet „zostáva X dní". Ak je odpočet < 30 dní, banner je červený. Ak už sunset prešiel, zobrazí sa červený tag „Basic už NIE JE povolené" a všetky Basic volania budú odmietnuté.
- Top používatelia Basic auth – Username – používateľské meno spojenia, ktoré volalo API cez Basic auth. Zodpovedá stĺpcu „username" v tabuľke „Spojenia". Pomáha identifikovať, ktoré spojenie treba migrovať.
- Top používatelia Basic auth – Endpoint – URL cesta API endpointu, ktorý bol volaný (napr.
/api/reservations,/api/guests). Ak vidíš otáznik (?), endpoint nebol zaznamenaný. Pomáha zistiť, ktoré časti API ešte používajú Basic. - Top používatelia Basic auth – Počet – koľkokrát bolo toto username + endpoint volané za posledných 7 dní. Vysoké číslo (napr. tisíce) znamená intenzívne používanie Basic auth – migrácia na Bearer je urgentná.
- Top používatelia Basic auth – Posledné – dátum a čas posledného Basic volania pre toto username + endpoint. Formát: „dd.mm. HH:mm" (napr. „15.01. 14:32"). Pomáha zistiť, či je spojenie ešte aktívne.
- Top používatelia Basic auth – IP – IP adresa, z ktorej prišlo posledné Basic volanie. Pomáha identifikovať server alebo aplikáciu, ktorá volá API. Ak vidíš neznámu IP, môže ísť o neoprávnený prístup.
Tipy a časté chyby
- Zabudol si skopírovať client_secret – ak zatvoríš modálne okno bez skopírovania secretu, už ho nikdy neuvidíš. Jediné riešenie je kliknúť znova na „Rotovať" a vygenerovať nový secret (starý sa zneplatní). Preto vždy skopíruj client_id aj client_secret hneď po zobrazení modálneho okna a ulož ich do password managera.
- Rotoval si secret, ale externá aplikácia ešte používa starý – po rotácii secretu sa starý okamžite zneplatní. Ak externá aplikácia ešte používa starý client_secret, API volania zlyhajú s chybou 401 Unauthorized. Musíš v externej aplikácii nahradiť starý secret novým. Preto pred rotáciou vždy upozorni správcu externej aplikácie a dohodne sa na čase výmeny.
- Nastavil si mode na „bearer only", ale aplikácia ešte používa Basic – ak zmeníš mode na „bearer only" a externá aplikácia ešte nemá implementovaný Bearer auth, všetky API volania zlyhajú. Pred zmenou mode skontroluj stĺpec „Posledné Basic volanie" a tabuľku „Top používatelia Basic auth". Ak vidíš nedávne volania, najprv migruj aplikáciu na Bearer a až potom zmeň mode.
- Vysoký počet aktívnych refresh tokenov – ak vidíš v štatistike stovky alebo tisíce aktívnych refresh tokenov, externá aplikácia sa pravdepodobne prihlasuje pri každom API volaní namiesto obnovovania access tokenu. To zbytočne zaťažuje databázu. Kontaktuj správcu aplikácie a požiadaj ho o implementáciu refresh token flow (použitie refresh tokenu na získanie nového access tokenu namiesto opätovného prihlásenia cez client credentials).
- Plaintext heslo v stĺpci „Password hash" – ak vidíš žltý tag „plaintext", heslo je uložené ako čistý text a je zraniteľné pri úniku databázy. Okamžite klikni na tlačidlo „Hashnúť heslo" v stĺpci „Akcie". Heslo sa prevedie na argon2id hash a plaintext sa vymaže. Po zahashovaní sa tlačidlo „Hashnúť heslo" skryje a zobrazí sa zelený tag „✓ argon2id".
- Nevidíš tlačidlo „Generovať" ani „Rotovať" – ak nie si prihlásený ako super-admin (admin_id = 1), celá obrazovka je skrytá a zobrazí sa len hláška „Iba super-admin môže spravovať API tokeny." Požiadaj super-admina o vygenerovanie credentials alebo o udelenie super-admin práv tvojmu účtu.
- Tabuľka „Top používatelia Basic auth" je prázdna, ale štatistika „Basic volania (7 dní)" ukazuje číslo > 0 – toto je normálne, ak Basic volania boli staršie ako 7 dní alebo ak boli vymazané z logu. Štatistika sa počíta z tabuľky api_basic_usage_log, ktorá môže byť pravidelne čistená. Ak chceš mať istotu, že Basic auth už nie je používaný, počkaj 7 dní a skontroluj znova.
- Po kliknutí na „Revoke RT" sa nič nestalo – tlačidlo „Revoke RT" zruší všetky aktívne refresh tokeny pre dané spojenie, ale neobnoví stránku automaticky. Musíš manuálne obnoviť stránku (F5), aby sa aktualizovala štatistika „Aktívne refresh tokeny". Externá aplikácia dostane pri ďalšom pokuse o obnovenie access tokenu chybu 401 a bude sa musieť znova prihlásiť cez client credentials.
Časté otázky k tejto stránke
Ako vygenerujem nový client_id a client_secret pre API spojenie?
Kde nájdem API autentifikáciu v Ellipse Cloud?
Prečo nevidím žiadne tlačidlá ani tabuľky na obrazovke API autentifikácia?
Čo znamená zelený tag uložený v stĺpci Bearer secret?
Ako zistím, ktoré spojenia ešte používajú Basic auth?
Čo sa stane, ak kliknem na tlačidlo Rotovať?
Zabudol som skopírovať client_secret z modálneho okna. Ako ho získam späť?
Čo znamená dropdown Mode v tabuľke Spojenia?
Ako zahashnem plaintext heslo pre spojenie?
Čo znamená štatistika Aktívne refresh tokeny?
Ako zrušim všetky refresh tokeny pre spojenie?
Prečo je štatistika Basic volania (7 dní) červená?
Čo znamená banner Sunset HTTP Basic auth v hornej časti?
Ako skopírujem client_id alebo client_secret z modálneho okna?
Čo znamená stĺpec Posledné Basic volanie v tabuľke Spojenia?
Ako zistím, ktorý endpoint volal API cez Basic auth?
Prečo je tabuľka Top používatelia Basic auth prázdna?
Čo sa stane, ak nastavím mode na bearer only a aplikácia ešte používa Basic?
Ako otvorím dokumentáciu pre Bearer autentifikáciu?
Čo znamená štatistika Migrované na Bearer?
Prečo vidím vysoký počet aktívnych refresh tokenov?
Ako zistím IP adresu, z ktorej prišlo Basic volanie?
Čo znamená zelený tag ✓ argon2id v stĺpci Password hash?
Ako často by som mal rotovať client_secret?
Prečo sa po kliknutí na Revoke RT nič nestalo?
Čo znamená stĺpec Počet v tabuľke Top používatelia Basic auth?
Ako zistím, či spojenie má vygenerovaný client_secret?
Prečo sa mi nezobrazuje tlačidlo Hashnúť heslo?
Čo sa stane, ak rotnem secret a zabudnem ho poslať správcovi aplikácie?
Ako zistím, kedy uplynie sunset dátum pre Basic auth?
Viac otázok nájdete v globálnej FAQ databáze alebo sa spýtajte AI asistenta.