Child pages
  • Session Management
Skip to end of metadata
Go to start of metadata

Allgemein

 

Das Session-Handling zwischen dem Client (Browser oder externes System) und dem ICA-Server wird über Cookies kontrolliert. Auf Serverseite wird das Cookie mit einer Session assoziert. Diese wiederum hat einen Verweis auf die aktuell gültige Liste von Sessions, die von der Anwendung kontrolliert werden. Das Web-Session-Cookie hat dabei keinen Zusammenhang zum Application-Session-Token. 


Die Zuordnung einer gültigen Session erfolgt nach erfolgreicher Authentisierung über die Aktivierung der Session.

 

Authentisierung - NamiStartup

Im Falle der API-Benutzung sieht das wie folgt aus (siehe Klassen:  NamiStartup und CurlWrapper):

  • Zuerst werden die Anmeldedaten "geposted" (Client => Server) (1)
  • Falls OK schickt der Server eine Relocation (HTTP-Code: 302) zum Client.
  • Der Client folgt der Relocation (Client=> Server; .../auth/loginActivatin/e2a3454f8390c7267d061d918b11d6d7/API
  • Der Server aktiviert die Session und erzeugt die Web-Session (JSESSIONID=3sqFOEabGH+Y-3mWFZtrRta2.undefined; Path=/ica)

Die loginActivation ist nur sehr kurz verwendbar. Eine wiederholte Aktivierung ist nicht möglich. 

 

JSESSIONID=3sqFOEabGH+Y-3mWFZtrRta2.undefined; Path=/ica

 

Session Startup

Der Session-Startup ist der einzige API-Request, der an die gleiche URL gesendet wird, wir der normale Login-Prozess verwendet.

FeldWertInhalt
LoginAPIFest, immer gleich.
username Benutzername
password Passwort des Benutzers

Die Werte werden per POST-Methode an den Server geschickt, das Schema sollte https sein.

Der Server antwortet in jedem Fall mit einer ApiDto-Response.

Falls der statusCode == 0 ist, ist alles in Ordnung.

StatusCodeBedeutung
0OK
3000Api Session ungültig, es muss einen neue Authentisierung durchgeführt werden
3001Bei der Authentisierung ist ein Fehler aufgetreten.
3002Ein Ausnahmefehler ist aufgetreten.
3099Unbekannter Fehler

Nach erfolgreicher Authentisierung kann der Client unter Benutzung des übermittelten apiSessionTokens verwenden. Achtung: Bei längerer Nicht-Benutzung kann die Session auslaufen. Eine erneute Authentisierung ist dann erforderlich.

 

 

 

 

 

 

 

  • No labels