Sessions

Eine Single-sign-on-Session für eine Person herstellen

curl http://hostname/webservice/sessions \
  -u webservice:apikey \
  -X POST \
  --form-string session[{login,password}]=login,password

Als Ergebnis werden die Personen-ID, das Ablaufdatum der Session sowie ein eindeutiger Session-Identifikator (Token) zurückgegeben. Über das Token wird die Session mit der Person assoziiert.

<?xml version="1.0" encoding="UTF-8"?>
<session>
  <contact_id type="integer">1</contact_id>
  <token>886cdbbf48032d1588567936580c518a</token>
  <valid_until type="datetime">2009-08-12T17:53:55+02:00</valid_until>
</session>

Single-sign-on-Session prüfen und erneuern

Eine Single-sign-on-Session muss erneuert werden, um zu verhindern, dass sie abläuft.

curl curl http://hostname/webservice/sessions/session \
  -u webservice:apikey \
  -X PUT \
  --form-string "session[token]=token_string"

Existiert die Session, werden die gleichen Daten zurückgegeben wie bei der Herstellung der Session, jedoch mit aktualisiertem Ablaufdatum. Gibt es die Session nicht (mehr), werden der Status-Code 422 und ein Body nach folgendem Muster zurückgegeben (der Cookie wurde aus Darstellungsgründen auf zwei Zeilen aufgeteilt):

HTTP/1.1 422
Connection: close
Date: Mon, 24 Aug 2009 16:16:10 GMT
X-Runtime: 33
Content-Type: application/xml; charset=utf-8
Cache-Control: no-cache
Set-Cookie: _omc_session=BAh7BjoPc2Vzc2lvbl9pZCIlNzcyMDAzOTg1NDk0MzZiYjk4MDk5
ZDZlZGZjOTJlYjU%3D--482e16f595f7c8b6efc57bae38e2b629925be318; path=/; HttpOnly
Content-Length: 98

<?xml version="1.0" encoding="UTF-8"?>
<errors>
  <error>Authentication failed.</error>
</errors>

Single-sign-on-Session invalidieren

curl curl http://hostname/webservice/sessions/session \
  -u webservice:apikey \
  -X DELETE \
  --form-string "session[token]=token_string"

Wenn die angegebene Session nicht existiert, werden der Status-Code 422 und die oben genannte Fehlermeldung zurückgegeben, zuzüglich der folgenden Informationen im Header:

TOKEN_STRING=token_string
header show
execute 9

Existierte die Session, enthält der Body der Response eine entsprechende Meldung:

<?xml version="1.0" encoding="UTF-8"?>
<hash>
  <message>Session deleted.</message>
</hash>