Authentisierungsprüfung via Cloud Server

Cloud Server Endpunkte für die Vertec Authentisierungsprüfung in Drittsystemen

Produktlinie

Standard

|

Expert

Betriebsart

CLOUD ABO

|

ON-PREMISES

Module

Leistung & CRM

Budget & Teilprojekt

Fremdkosten

Ressourcenplanung

Business Intelligence

Erstellt: 15.06.2023
Aktualisiert: 24.11.2024 | Titel geändert, Artikel verschoben zu Login

Ab Vertec 6.6.0.10 bietet der Cloud Server die Möglichkeit, mithilfe von Vertec zu prüfen, ob Benutzername/Passwort dieses Benutzers in Vertec bekannt und korrekt sind.

Dafür gibt es zwei Endpunkte:

GET /authsettings

Für jeden Request gegen den Endpunkt wird eine eindeutige Nonce generiert. Diese kommt als JSON wie folgt zurück:

{
   "authnonce": "<randomly_generated_key>"
}

Diese Nonce wird im Header X-AUTH-NONCE an den /authcheck übergeben.

Antwortet /authsettings stattdessen mit einem HTTP Status Code 403 und dem Fehleroutput too many active login attempts, bedeutet das, dass aktuell zu viele Tokens aktiv sind. In diesem Fall muss die Anfrage später nochmal erfolgen.

POST /authcheck

Der Endpunkt erwartet als Input einen JSON Body mit folgenden Parametern:

{
    "loginname": "<loginname>",
    "password": "<password>",
    "twofactorCode": "<2facode>",
}
  • loginname
  • password
  • twofactorCode: Bei Bedarf wird die 2FA Authentisierung ausgeführt. Der 2FA Code muss direkt im Input mitgeschickt werden, wenn 2FA für Vertec gefordert wird. Es ist Sache der Client App, zu entscheiden, ob sie einen 2FA Code vom Benutzer erfragt oder nicht.
    Wird 2FA nicht benötigt, kann der Parameter weggelassen oder ein Leerstring mitgeliefert werden.
  • Im Header X-AUTH-NONCE wird eine aktuell gültige Nonce erwartet. Enthält der Request keine oder keine gültige Nonce, schlägt der Request sofort fehl.

Kann der Benutzer erfolgreich authentisiert werden, antwortet der Cloud Server mit HTTP Status Code 200 OK und leerem Body.

Ist Benutzername, Passwort, 2FA Code oder Nonce ungültig, antwortet der Cloud Server mit HTTP Status Code 403 FORBIDDEN. Der Body enthält eine kurze Beschreibung des Fehlers ('reason') als JSON:

{
    "reason": "<reason>",
    "message": "<message>" //bei reasons "banned" und "authentication server unavailable"
}
  • Keine Nonce: reason = invalid nonce
  • Ungültige/Abgelaufene Nonce: reason = invalid nonce
  • Kein Benutzername angegeben (null oder empty): reason = invalid credentials
  • Passwort falsch: reason = invalid credentials
  • Vertec verlangt 2FA, Benutzer hat 2FA nicht eingerichtet: reason = missing 2fa setup
  • Vertec verlangt 2FA, kein 2FA Code geliefert: reason = missing 2fa code
  • Vertec verlangt 2FA, gelieferter Code falsch: reason = invalid credentials
  • User ist gebannt: reason = banned, message = The user is still locked for ... minutes because too many login attempts failed.
  • Zu viele Anfragen aktiv: reason = too many active login attempts

Bei aktiviertem OpenID Connect beantwortet der Cloud Server alle Requests an /authcheck mit 403 Forbidden mit der Reason authentication with credentials not allowed.

Ist der Authentisierungsserver nicht erreichbar (zum Beispiel bei Login mit LDAP), antwortet der Cloud Server mit einem HTTP Status Code 500 und dem Fehleroutput reason =authentication server unavailable, message = Vertec couldn't connect to the ... authentication server..

Die verwendete Nonce wird sofort invalidiert und ist nicht mehr für weitere Requests gültig. Jede Nonce kann nur für einen einzigen Request verwendet werden, unabhängig davon, ob die Authentisierung erfolgreich ist oder nicht.

Bitte wählen Sie Ihren Standort