Benutzer-Werkzeuge

Webseiten-Werkzeuge


rest.php

Dies ist eine alte Version des Dokuments!


rest.php

  • REST-Frontend mit Benutzer-Authentisierung
  • Authentisierung per HTTP BASIC Auth oder Session-Cookie
  • Jeder BASIC AUTH Request eröffnet eine Session und liefert einen Cookie zurück

Authentisierung

HTTP BASIC Auth

Hier wird der Request bei erfolgreicher Authentisierung ausgeführt. Der Client muss Informationen wie das Archiv kennen.

curl -u admin:secret \
  --data start=0 \
  --data limit=20 \
  --data archive=BennoContainer \
  --data 'query=Text:*hallo*' \
  -D - -k https://mailarchiv.lw-systems.net/benno/rest.php/search/

Session

Ab der Benno Web Version 2.2.2 besteht auch die Möglichkeit der Authentisierung per Session-Id.

Session erstellen

Bei erfolgreichem Login wird ein User-Objekt mit den Userdaten und „Session-Name:Session-Id“ als Wert des password Attributs zurück gegeben. Das Attribut archive ist ein Array mit den Archiven, auf die der User Zugriff hat.

curl  -D - -k 'https://mailarchiv.lw-systems.net/benno/rest.php/login/?username=admin&password=secret'
 
HTTP/1.1 200 OK
Date: Tue, 22 Nov 2016 14:24:11 GMT
Server: Apache/2.4.10 (Debian)
X-Powered-By: PHP/5.6.27-0+deb8u1
Set-Cookie: BENNOSID=c223e75ohpq5u1i0j9hhv36n60; path=/benno/rest.php
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Length: 138
Content-Type: application/json; charset=UTF-8
 
{"id":"admin","password":"BENNOSID:c223e75ohpq5u1i0j9hhv36n60","name":"Admin User","archive":["BennoContainer"],"addresses":["*@*"],"role":"ADMIN"}

Session Request

curl --cookie BENNOSID=c223e75ohpq5u1i0j9hhv36n60 \
  --data start=0 \
  --data limit=20 \
  --data archive=BennoContainer \
  --data 'query=Text:*hallo*' \
  -D - -k https://mailarchiv.lw-systems.net/benno/rest.php/search/
rest.php.1484054045.txt.gz · Zuletzt geändert: 2017/01/10 13:14 von lwsystems