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