Skip to main content

Authentifizierung im Nooxl REST-API

API-Login

Die Authentifizierung in Noox Apps kann je nach Einstellung über zwei verschiedene Arten erfolgen. Der erste Weg erfolgt über die Anmeldung mit einem Microsoft Account bzw. Office 365 Account. Der zweite Weg nutzt den Nooxl Identitäten Manager der Nooxl Apps Umgebung für eine API-Authentifizierung. Die Authentifizierung erfolgt dann über eine API-Anmeldung mit Login und Passwort für User, die im Nooxl Identitäten Manager durch ein System-User angelegt wurden und denen in der Nooxl App die nötigen Rechte zugewiesen wurden. Dieser Weg wird auch in den Beispielen verwendet.

Warnung

Der API-User muss sich vor der API-Nutzung mindestens einmal direkt in den Nooxl Apps erfolgreich anmelden.

Identitäten Manager

Hinweis

Die Festlegung der Sprache/Kultur für das API-Login in der Nooxl App spielt z.B. beim REST-API "model calculate" eine Rolle für die Formatierung von Zahlenwerten. Wir empfehlen Englisch als Sprache einzustellen. Die Sprache wird bei Zuordnung eines Users für das API-Login in der Nooxl Apps Umgebung festgelegt.

Parameter in der REST-API Url

Das REST-API "authenticate" wird mit folgendem Parameter aufgerufen: https://{nooxlApiHostName}/api/v1/app/login/authenticate

Der Name des Nooxl-API-Server nooxlHostName hängt von der Installation ab und lautet z.B. für die Nooxl Demo Apps https://ncs-demo.nooxl.com.

Damit wird der Parameter wie folgt in die URL eingefügt: https://ncs-demo.nooxl.com/api/v1/app/login/authenticate

Parameter im REST-API Body

Im Request-Body werden Login und Password übergeben. Für eine Anmeldung am Nooxl API-Demo Server sieht der Body so aus:

REST-API 'authenticate' Request-Body
{
"Login":"API-Tester",
"Password":"ivtP@t>UN>KF9"
}

Ergebnis-Anwort des REST-API

Nach dem Aufruf des REST-API gibt Nooxl Apps bei Erfolg einen Response-Body aus. Im Fehlerfall wird eine Fehlermeldung zurückgegeben. Der Response-Body sieht für unser Demo-Request wie folgt aus:

REST-API 'authenticate' Response-Body
{
"AuthKey": "_vT...",
...
"TimeZoneOffset": -1,
"Token": "eyJhb.....CQ"
}

Von dem Ergebnis wird nur der Token-Wert eyJhb.....CQ benötigt. Mit weiteren Aufrufen des REST-API muss dann jeweils ein Header Authorization mit einem Bearer-Text plus dem Token, wie z.B. Bearer eyJhb.....CQ gesendet werden. Das Access-Token läuft nach einem gewissen Zeitraum ab (je nach Servereinstellung) und muss dann erneuert werden.