Zum Inhalt

1. Authentifizierung

Für die Authentifizierung werden die Login-Daten aus labGate benötigt. Per POST-Request werden Benutzername und Passwort übermittelt. Gibt es hierzu im labGate einen passenden Benutzer, so wird als Antwort der Token zurück übermittelt. Dieser ist für die weitere Kommunikation notwendig und muss bei jedem weiteren Request mit übermittelt werden.

Endpunkt Beschreibung

Methode: POST

Endpunkt: {base}/api/v3/authentication/authorize

Request Body — Anfrage zum Server

{
    "Username": "string",               // optional, labGate Benutzername
    "Password": "string",               // optional, labGate Password
    "DeviceKey": "string",              // optional, Geräteschlüssel
    "OperatingSystem": "Unknown",       // optional, Betriebssystem
    "OperatingSystemVersion": "string", // optional, Betriebssystem Version
    "DeviceModel": "string",            // optional, Gerätemodel
    "DeviceName": "string",             // optional, Gerätename
    "AdditionalInformation": "string",  // optional, zusätzliche Informationen
    "LayoutEngine": "None",             // optional, Enum: 'None', 'Minimalistic', 'ExternalApplication'
    "PushConnectionId": "string",       // optional,
    "DocumentFormat": "NoDocuments",    // optional, Enum: 'NoDocuments', 'PDF', 'TIFF', 'JPEG', 'PNG', 'EMF', 'TTY', 'XPS', 'PRN', 'TXT', 'ZPL'
    "UserAgent": "string",              // optional, UserAgent-String
    "LabelFormat": "NoDocuments",       // optional, Etikettenformat, Enum: 'NoDocuments', 'PDF', 'TIFF', 'JPEG', 'PNG', 'EMF', 'TTY', 'XPS', 'PRN', 'TXT', 'ZPL'
    "LabelDpi": 0,                      // optional, Druckerauflösung
    "RequestUserData": true,            // optional, Gibt an ob Benutzerdaten zurückgegeben werden sollen
    "PushIdentifier": "string"          // optional, Die Push-Kennung zum übermitteln von Nachrichten an das Gerät
}
{
    "Username": "string",
    "Password": "string",
    "DeviceKey": "string",
    "DeviceModel": "string",
    "DeviceName": "string",
    "AdditionalInformation": "string",
}

200er Response — Antwort vom Server

{
    "Token": "string", // Auth-Token
    "PasswordExpired": true, // Passwort gültigkeit abgelaufen
    "RequiresSecondFactor": true, // 2-Factor wird benötigt
    "TwoFactorRegistrationIncomplete": true, //
    "UserPermissions": [ // Nutzer Rechte
        "string"
    ],
    "Fullname": "string",
    "Email": "string",
    "Phone": "string",
    "Version": "24.01.00" // labGate Version
}

Der Token muss bei jedem folgenden Request, an labGate, im HTTP Authorization Header als Bearer token mit gesendet werden:

Authorization: Bearer <token>

weitere mögliche Antworten

401 Benutzer konnte nicht angemeldet werden

{
    "ErrorCode": 1,
    "Description": "Ungültiger Benutzername oder falsches Passwort"
}

403 Der Benutzer darf sich mit diesem Gerät nicht anmelden

fehlende information => kann das Gerät nicht sperren via api