X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=doc%2Fdokumentation.xml;h=b9b7e11f890f5286c64c9fdd556f91d2ec2c62fb;hb=d17039f09b3c3fc415d5778d954c02d6be5479dc;hp=daed622d6127d45a751d0abc164701eea8c7c148;hpb=56eff7149decfec3250984d74307b8dc7b568d6a;p=kivitendo-erp.git diff --git a/doc/dokumentation.xml b/doc/dokumentation.xml index daed622d6..b9b7e11f8 100644 --- a/doc/dokumentation.xml +++ b/doc/dokumentation.xml @@ -2,7 +2,7 @@ - kivitendo 3.5.1: Installation, Konfiguration, + <title>kivitendo 3.5.3: Installation, Konfiguration, Entwicklung @@ -425,10 +425,11 @@ libcrypt-pbkdf2-perl git libcgi-pm-perl libtext-unidecode-perl libwww-perl\ postgresql-contrib aqbanking-tools poppler-utils libhtml-restrict-perl\ libdatetime-set-perl libset-infinite-perl liblist-utilsby-perl\ - libdaemon-generic-perl libfile-flock-perl libfile-slurp-perl + libdaemon-generic-perl libfile-flock-perl libfile-slurp-perl\ + libfile-mimeinfo-perl libpbkdf2-tiny-perl libregexp-ipv6-perl - Ab Ubuntu Version 18.04 LTS sind alle benötigten Pakete in der Distributions verfügbar. + Ab Ubuntu Version 18.04 LTS, bzw. Debian Buster sind alle benötigten Pakete in der Distribution verfügbar. Für ältere Ubuntu/Debians müßen einige Pakete per CPAN installiert werden. Das geht bspw. für das benötige Paket HTML::Restrict mit: @@ -519,15 +520,15 @@ cpan HTML::Restrict url="https://github.com/kivitendo/kivitendo-erp/releases">hier heruntergeladen werden. - Die kivitendo ERP Installationsdatei - (kivitendo-erp-3.4.1.tgz) wird im + Diese aktuelleste kivitendo ERP-Archiv + (kivitendo-erp-*.tgz) wird dann im Dokumentenverzeichnis des Webservers (z.B. /var/www/html/, /srv/www/htdocs oder /var/www/) entpackt: cd /var/www -tar xvzf kivitendo-erp-3.4.1.tgz +tar xvzf kivitendo-erp-*.tgz Wechseln Sie in das entpackte Verzeichnis: @@ -820,13 +821,13 @@ default_manager = german Als Hinweis einige Links zu den drei Distribution (Stand Dezember 2018): - Fedora (Postgres-Installation unter Fedora) + Fedora (Postgres-Installation unter Fedora) - Ubuntu (Infos für Postgres für die aktuelle LTS Version) + Ubuntu (Infos für Postgres für die aktuelle LTS Version) - OpenSuSE (aktuell nur bis Version OpenSuSE 13 verifiziert) + OpenSuSE (aktuell nur bis Version OpenSuSE 13 verifiziert) @@ -1191,6 +1192,20 @@ Alias /url/for/kivitendo-erp-fcgid/ /path/to/kivitendo-erp/ + + Authentifizierung mittels HTTP Basic Authentication + + + Kivitendo unterstützt, dass Benutzerauthentifizierung über den Webserver mittels des »Basic«-HTTP-Authentifizierungs-Schema erfolgt + (siehe RFC 7617). Dazu ist es aber nötig, dass der dabei vom Client + mitgeschickte Header Authorization vom Webserver an Kivitendo über die Umgebungsvariable + HTTP_AUTHORIZATION weitergegeben wird, was standardmäßig nicht der Fall ist. Für Apache kann dies über die + folgende Konfigurationsoption aktiviert werden: + + + SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1 + + Weitergehende Konfiguration @@ -7810,6 +7825,89 @@ file_name = /tmp/kivitendo-debug.log + + Programmatische API-Aufrufe + + + Einführung + + + Es ist möglich, Funktionen in kivitendo programmatisch aus anderen Programmen aufzurufen. Dazu ist nötig, dass + Authentifizierungsinformationen in jedem Aufruf mitgegeben werden. Dafür gibt es zwei Methoden: die HTTP-»Basic«-Authentifizierung + oder die Übergabe als spziell benannte GET-Parameter. Neben den Authentifizierungsinformationen muss auch der zu verwendende Mandant + übergeben werden. + + + + + Wahl des Mandanten + + + Der zu verwendende Mandant kann als Parameter {AUTH}client_id mit jedem Request mitgeschickt werden. Der Wert + muss dabei die Datenbank-ID des Mandanten sein. kivitendo prüft, ob der Account, der über die Authentifizierungsinformationen + übergeben wurde, Zugriff auf den angegebenen Mandanten hat. + + + + Wird in einem Request kein Mandant mitgegeben, so wird derjenige Mandant genommen, wer als Standardmandant markiert wurde. Gibt es + keinen solchen, kommt es zu einer Fehlermeldung. + + + + + HTTP-»Basic«-Authentifizierung + + + Für diese Methode muss jedem Request der bekannte HTTP-Header Authorization mitgeschickt werden (siehe RFC 7617). Unterstützt wird ausschließlich die »Basic«-Methode. Loginname und + Passwort werden bei dieser Methode durch einen Doppelpunkt getrennt und Base64-encodiert im genannten HTTP-Header übertragen. + + + + Diese Informationen müssen einen vorhandenen Account benennen. kivitendo prüft genau wie bei Benutzung über den Webbrowser, ob + dieser Account Zugriff auf den Mandanten sowie auf die angeforderte Funktion hat. + + + + Da die Logininformationen im Klartext im Request stehen, sollte der Zugriff auf kivitendo ausschließlich über HTTPS verschlüsselt + erfolgen. + + + + + Authentifizierung mit Parametern + + + Für diese Methode müssen jedem Request zwei Parameter mitgegeben werden: {AUTH}login und + {AUTH}password. Diese Informationen müssen einen vorhandenen Account benennen. kivitendo prüft genau wie bei + Benutzung über den Webbrowser, ob dieser Account Zugriff auf den Mandanten sowie auf die angeforderte Funktion hat. + + + + Da die Logininformationen im Klartext im Request stehen, sollte der Zugriff auf kivitendo ausschließlich über HTTPS verschlüsselt + erfolgen. + + + + + Die Verwendung dieser Methode ist veraltet. Statt dessen sollte die oben erwähnte HTTP-»Basic«-Authentifizierung verwendet werden. + + + + + + Beispiele + + + Das folgende Beispiel nutzt das Kommandozeilenprogramm »curl« und ruft die Funktion auf, die eine vorhandene Telefonnummer in den + Ansprechpersonen sucht und dazu Informationen zurückliefert. Dabei wird die HTTP-»Basic«-Authentifizierung genutzt. + + + $ curl --silent --user 'jdoe:SecretPassword!' \ + 'https://…/controller.pl?action=PhoneNumber/look_up&number=053147110815' + + + SQL-Upgradedateien