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.
Der API-User muss sich vor der API-Nutzung mindestens einmal direkt in den Nooxl Apps erfolgreich anmelden.
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:
{
"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:
{
"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.