Přeskočit na hlavní obsah

Administrátoři

V terminologii aplikace je administrátor uživatel, který má neomezená práva. Administrátor může vytvářet, upravovat a mazat veškeré záznamy v aplikaci včetně jiných administrátorů.

Vytvoření administrátora

Prvního administrátora lze vytvořit pomocí konzolového příkazu.

bin/console app:user:create-admin <email> <password>

Další administrátory lze vytvořit přímo v admin panelu na adrese http://localhost:8090/app/settings/admins.

Přihlášení jako administrátor

Klasické přihlášení

Administrátor se může přihlásit na adrese http://localhost:8090/app/admin. Běžný uživatel se do admin panelu přihlašuje na adrese http://localhost:8090/app. Formuláře vypadají téměř totožně, každý ale prohledává jinou databázovou tabulku uživatelů a to může být matoucí. Proto zde existuje vizuální pomůcka - admin formulář obsahuje logo aplikace viz screenshot.

Přihlášení pomocí megio-api

V rámci vašeho projektu máte k dispozici několik možností, jak získat přístupový JWT token. První a nejjednodušší variantou je použití JS/TS knihovny megio-api, kde stačí zavolat metodu loginByEmail a máte hotovo. Knihovna sama zajistí persistenci JWT tokenu pomocí localStorage adaptéru a následně s ním dokáže pracovat (storage adaptér lze samozřejmě vyměnit i za vlastní).

const resp = await megio.auth.loginByEmail('jz@strategio.dev', 'Test1234', 'admin')

if (resp.ok) {
const { bearer_token, bearer_token_id, user } = resp.data
// Přesměruj uživatele například do jeho profilu.
}

První parametr je email, druhý heslo a třetí je zdroj - tj. název databázové tabulky, kde se nachází uživatel. V našem případě je to admin, v případě běžného uživatele by to byl user a v případě vlastního zdroje by to byl název vaší taubulky.

Přihlášení pomocí HTTP requestu

Druhou možností je provolání API end-pointu [POST] /megio/auth/email s JSON body:

{
"source": "admin",
"email": "admin@test.cz",
"password": "Test1234"
}

Jako response dostanete JWT token, který je nutné uchovat a posílat v hlavičce všech následujících requestů, aby systém rozpoznal, že se jedná o autentizovaného uživatele. Ukázka hlavičky requestu s JWT tokenem:

Authorization: Bearer <your-jwt-token>

Expirace JWT tokenu

Dobu expirace JWT tokenu lze nastavit v souboru .env pomocí proměnné:

AUTH_EXPIRATION=1day