• Overenie HTTP

  • Overenie JSON

  • SAMLv2*

  • OpenID*

* Podporované len pri lokálnej inštalácii. Dostupnosť je obmedzená licenciou ABRA Flexi. Konfiguruje sa vo webovom rozhraní servera na adrese /admin/auth-settings.

Overenie HTTP

Jednoduché overovanie HTTP je pôvodná metóda overovania používateľov pri prihlasovaní do používateľského rozhrania ABRA Flexi WUI. Zároveň je to aj jedna z možností overovania používateľov rozhrania REST API. Stačí poslať overovaciu hlavičku s každou požiadavkou HTTP. Ak túto hlavičku neuvediete, budete presmerovaní na prihlasovací formulár alebo bude vrátený stav

401 Autorizácia nutná

(požiadavka na overenie HTTP).

Snažíme sa zistiť volania REST API a naďalej ponúkať overovanie HTTP. Ak detekcia zlyhá alebo ak potrebujeme kontrolovať spôsob overovania, môžeme použiť parameter ?auth=http (pozri Parametre URL)

Jednoduchý príklad autentizačnej komunikácie HTTP pomocou curl:

curl -L -v -u winstrom:winstrom 'https://demo.flexibee.eu:5434/c/demo/adresar.xml?detail=custom:kod&limit=1'
⋮ * Server auth using Basic with user 'winstrom' > GET /c/demo/adresar.xml?detail=custom:kod&limit=1 HTTP/1.1 > Host: demo.flexibee.eu:5434> Authorization: Basic d2luc3Ryb206d2luc3Ryb20= > User-Agent: curl/7.54.1 > Accept: */* > < HTTP/1.1 200 OK < Cache-Control: private, max-age=0, no-cache < Set-Cookie: lang=en;Version=1 < Vary: Accept < Content-Type: application/xml < Content-Length: 150 < Via: 1.1.loadbal-fra-1.c.flexibee.eu <      755  AAA  

Pre ukážku overovania v PHP si pozrite skutočné príklady rozhrania API.

Overenie v tvare JSON (relácia overovania)

Ak sa chcete overiť pomocou systému ABRA Flexi a použiť vytvorené overenie na iné volania, použite rozhranie API na získanie autentifikačného tokenu:

POST /login-logout/login.json

Poznámka: Metóda poskytuje výsledok len vo formáte JSON, preto v dotaze uveďte správny požadovaný formát.

Dotaz musí obsahovať formulárové údaje:

užívateľské meno

užívateľské meno

heslo

Heslo používateľa

otp

Jednorazové heslo (ak sa vyžaduje)

Príklad volania:

{
    "username": "novak",
    "password": "password"
}

Výsledok hovoru
Úspešné overenie

Výsledkom je príznak success=true a autentifikačný token authSessionId:

{
    "success": true,
    "authSessionId": "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff"
}

Neúspešné overenie

Neúspech autentifikácie je indikovaný príznakom success=false s konkrétnejším popisom v reťazci errors.reason:

{
    "success": false,
    "errors": {
        "reason": "Bolo zadan\u00e9 nespr\u00e1vne pou\u017e\u00edvate\u013esk\u00e9 meno alebo heslo."
    }
}

Možnosti používania autentifikačného tokenu

Overiavací token je možné odovzdať v dotazoch tromi spôsobmi:

  • Cookie: authSessionId: 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff

  • HTTP hlavička: X-authSessionId: 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff

  • URL query ?authSessionId=00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff

Upozornenie: V prípade variantu v dotaze URL sa autentifikačné údaje zaznamenajú na serveri ABRA Flexi.

Aby token zostal platný, musíte udržiavať spojenie občasným volaním GET /login-logout/session-keep-alive.js. My to voláme každých 60 sekúnd, ale raz za 30 minút by to malo stačiť.

Ak chcete použiť refreshToken, musíte ho odoslať ako požiadavku na súbor cookie GET /login-logout/check, čím získate nový authSessionId.

Pomocou API môžete tiež odhlásiť používateľov.

Umiestnite na svoju stránku prihlasovací formulár

Ak potrebujete na svoje stránky umiestniť prihlasovací formulár, inšpirujte sa týmto HTML:

<?xml version="1.0"?>
<form action="https&gt;://demo.flexibee.eu:5434/login-logout/login.html" method="POST"> Meno: <input type="text" name="username" value=""/><br/> Heslo: <input type="password" name="password"/><br/> <input type="submit" name="submit" value="Login"/> </form>

Takisto je možné pridať parameter returnUrl na určenie adresy, na ktorú má byť používateľ presmerovaný. Ak používate OTP, musíte pridať aj parameter otp. Pri použití SSO (OpenID alebo SAMLv2) túto metódu nemožno použiť.

Did this answer your question?