• Overovanie HTTP

  • Overovanie 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.

Overovanie 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 hlavičku neuvediete, budete presmerovaní na prihlasovací formulár alebo sa vráti stav 401 Autorizácia je potrebná.

Snažíme sa zistiť volania REST API a naďalej ponúkať overovanie HTTP. Ak detekcia zlyhá alebo je potrebné kontrolovať spôsob overovania, je možné použiť parameter ?auth=http (pozri parametre URL).

Príklad komunikácie s jednoduchým overovaním HTTP pomocou príkazu 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/addressar.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

Príklad overovania v PHP nájdete v sérii príkladov reálneho API.

Overovanie JSON (relácia overovania)

Ak chcete overiť ABRA Flexi a použiť vytvorené overenie pre iné volania, použite API na získanie overovacieho tokenu:

POST /login-logout/login.json

Poznámka: Táto metóda poskytuje výsledok len vo formáte JSON, preto v požiadavke zadajte správny formát.

Výzva musí obsahovať nespracované údaje:

používateľské meno

Používateľské meno

heslo

Používateľské meno používateľské meno heslo

otp

Jednorazové heslo (ak sa vyžaduje)

Príklad volania (nespracované údaje):

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


Úspešné overenie

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

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

Neúspešné overenie

Neúspešné overenie je označené príznakom success=false s konkrétnejším popisom v reťazci error.reason:

{
    "success": false,
    "errors": {
        "reason": "Bolo zadané nesprávne \u00e1no \u00e9 u\u017e9user\u00e9no \u010di heslo."
    }
}

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

Získané overenie možno v dotazoch odovzdať tromi spôsobmi:

  • Cookie: authSessionId: 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff

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

  • URL query ?authSessionId=00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff

Poznámka: 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 robíme každých 60 sekúnd, ale stačilo by to raz za 30 minút.

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

Rozhranie API môžete použiť aj na odhlásenie používateľov.

Umiestnite prihlasovací formulár na svoje stránky

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

<?xml version="1.0"?>
<form action="https&gt;://demo.flexibee.eu:5434/login-logout/login.html" method="POST"> Jm&#xE9;no: <input type="text" name="username" value=""/><br/> Password: <input type="password" name="heslo"/><br/> <input type="submit" name="submit" value="P&#x159;ihl&#xE1;sit"/> </form>

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

Did this answer your question?