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>