Authentifizierung

ABRA Flexi unterstützt mehrere Authentifizierungsmethoden

Ota Rádl avatar
Verfasst von Ota Rádl
Vor über einer Woche aktualisiert
  • HTTP-Authentifizierung

  • JSON-Authentifizierung

  • SAMLv2*

  • OpenID*

Wird nur bei lokaler Installation unterstützt. Die Verfügbarkeit ist durch die ABRA-Flexi-Lizenz eingeschränkt. Wird in der Webschnittstelle des Servers unter /admin/auth-settings konfiguriert.

HTTP-Authentifizierung

Die einfache HTTP-Authentifizierung ist die ursprüngliche Methode zur Authentifizierung von Benutzern bei der Anmeldung an der ABRA Flexi WUI. Gleichzeitig ist es auch eine der Optionen für die REST-API-Benutzerauthentifizierung. Senden Sie einfach einen Authentifizierungs-Header mit jeder HTTP-Anfrage. Wenn Sie die Kopfzeile nicht angeben, werden Sie zum Anmeldeformular weitergeleitet oder es wird der Status 401 Autorisierung erforderlich zurückgegeben.

Wir versuchen, REST-API-Aufrufe zu erkennen und bieten weiterhin HTTP-Authentifizierung an. Wenn die Erkennung fehlschlägt oder die Authentifizierungsmethode kontrolliert werden muss, kann der Parameter ?auth=http verwendet werden (siehe URL-Parameter).

Beispiel für eine Kommunikation mit einfacher HTTP-Authentifizierung unter Verwendung des Befehls 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=de;Version=1 < Vary: Accept < Content-Type: application/xml < Content-Length: 150 < Via: 1.1.loadbal-fra-1.c.flexibee.eu < 755 AAA

Ein Beispiel für die Authentifizierung in PHP finden Sie in den Beispielen der Real-API-Serie.

JSON-Authentifizierung (Authentifizierungssitzung)

Wenn Sie ABRA Flexi authentifizieren und die erstellte Authentifizierung für andere Aufrufe verwenden möchten, verwenden Sie die API, um ein Authentifizierungstoken zu erhalten:

POST /login-logout/login.json

Hinweis: Diese Methode liefert das Ergebnis nur im JSON-Format, geben Sie also das richtige Format in der Abfrage an.

Der Aufruf muss Rohdaten enthalten:

Nutzername

Benutzername

Passwort

Benutzername Kennwort

otp

Einmaliges Passwort (falls erforderlich)

Beispielaufruf (Rohdaten):

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


Erfolgreiche Authentifizierung

Das Ergebnis ist das Flag success=true und das Authentifizierungstoken authSessionId:

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

Authentifizierung fehlgeschlagen

Eine fehlgeschlagene Authentifizierung wird durch das Flag success=false mit einer genaueren Beschreibung in der Zeichenfolge errors.reason angezeigt:

{
"success":false,
"errors":{
"reason":"Bylo zadáno chybné uživatelské jméno nebo heslo."
}
}

Optionen für die Verwendung von Authentifizierungstoken

Die erhaltene Authentifizierung kann auf drei Arten in Abfragen weitergegeben werden:

  • Cookie: authSessionId: 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff

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

  • URL query ?authSessionId=00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff

Hinweis: Für die Variante in der URL-Abfrage werden die Authentifizierungsdaten auf dem ABRA Flexi-Server protokolliert.

Damit das Token gültig bleibt, müssen Sie die Verbindung aufrechterhalten, indem Sie gelegentlich GET /login-logout/session-keep-alive.js aufrufen. Wir sagen alle 60 Sekunden, aber einmal alle 30 Minuten sollte ausreichen.

Wenn Sie den refreshToken verwenden möchten, müssen Sie ihn als Cookie-Anfrage mit GET /login-logout/check senden, wodurch Sie eine neue authSessionId erhalten.

Sie können die API auch verwenden, um Benutzer abzumelden.

Platzieren Sie das Anmeldeformular auf Ihrer Website

Wenn Sie Anmeldeformulare auf Ihrer Website platzieren müssen, lassen Sie sich von diesem HTML inspirieren:

<form action="https://demo.flexibee.eu:5434/login-logout/login.html" method="POST"> 
Jméno:
<input type="text" name="username" value=""/>
<br/>
Heslo:
<input type="password" name="password"/>
<br/>
<input type="submit" name="submit" value="Přihlásit"/>
</form>

Es ist auch möglich, einen Parameter returnUrl hinzuzufügen und die Adresse anzugeben, an die der Benutzer weitergeleitet werden soll. Wenn Sie OTP verwenden, müssen Sie den Parameter otp hinzufügen. Bei Verwendung von SSO (OpenID oder SAMLv2) kann diese Methode nicht verwendet werden.

Hat dies Ihre Frage beantwortet?