User Tools

Site Tools


module:rest-getting-started

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
module:rest-getting-started [2023/11/28 14:54]
lars created
module:rest-getting-started [2023/12/04 11:35] (current)
alexandra [C) Application Keys]
Line 2: Line 2:
  
 Die technische Referenzdokumentation finden Sie auf Ihrer Projectile-Installation. Die technische Referenzdokumentation finden Sie auf Ihrer Projectile-Installation.
 +
 Dazu ändern Sie einfach die URL von "​start"​ auf "​rest":​ Dazu ändern Sie einfach die URL von "​start"​ auf "​rest":​
  
Line 7: Line 8:
 https://​YOUR_SERVER/​projectile/​rest https://​YOUR_SERVER/​projectile/​rest
 </​file>​ </​file>​
 +
 +Für die Entwicklung einer REST-Schnittstelle können Sie eine beliebige REST-Entwicklungsumgebung benutzen,
 +zum Beispiel Postman: https://​www.postman.com.
 +
 +===== Authentifizierung =====
 +
 +Für eine Benutzung der Schnittstelle müssen Sie sich Authentifizieren,​ siehe: ​
 +
 +<​file>​
 +https://​YOUR_SERVER/​projectile/​wiki/​rest/​authentication
 +</​file>​
 +
 +Sie übermitteln also das Token als Authorization-Header mit dem Bearer-Prefix:​
 +
 +{{:​module:​bearer.png?​800|}}
 +
 +Damit ist ein Nutzer in Projectile durch die Anmeldung identifiziert. ​
 +
 +
 +===== Zugriff auf REST-Schnittstelle =====
 +
 +Jetzt muss der Nutzer aber auch Rechte haben, die REST-Schnittstelle zu benutzen.
 +
 +Dies ist hier beschrieben: ​
 +
 +<​file>​
 +http://​YOUR_SERVER/​projectile/​wiki/​rest/​credential
 +</​file>​
 +
 +Sie können diese Rechte auf verschiedene Weise vergeben:
 +
 +==== A) Entwicklungsserver ohne Rechteprüfung ====
 +
 +Sie deaktivieren die Rechteprüfung komplett. Dies ist zum Beispiel für
 +ein Entwicklungssystem akzeptabel. Dazu müssen Sie in der Datei config/​bsm.properties
 +den Eintrag
 +
 +<​file>​
 +bsm.rest.needCredential=false
 +</​file>​
 +
 +einfügen und Projectile neu starten.
 +
 +==== B) Spezieller REST-User ====
 +
 +Sie geben ihrem angemeldeten Nutzer die Rechte. Dies wird in der Regel für REST-Zugriff
 +benutzt, der eine Schnittstelle zu einem anderen System bildet. Der Nutzer, der hierfür
 +verwendet wird, ist in der Regel kein normaler Projectile-Nutzer,​ der auch eine konkrete
 +Person repräsentiert,​ sondern ein reiner REST-Nutzer.
 +
 +Wenn Sie so einen Nutzer haben, können Sie diesen in der Projectile-Oberfläche ​
 +den ACL-Eintrag unter:
 +
 +<​file>​
 +Administration > Rechtesystem > ACL > credentials > RESTUser
 +</​file>​
 +
 +zuweisen. Der Nutzer sollte dort als Owner eingetragen werden oder Mitglied einer
 +REST-Benutzergruppe sein, die Sie unter Relatives oder Friends dem ACL-Eintrag zuweisen.
 +
 +Sollte es diesen ACL-Eintrag noch nicht geben, dann können Sie diesen im Script-Interpreter
 +von Projectile mit dem Script **CreateRESTUserCredential.java** anlegen. Am besten machen
 +Sie das auch gleich mit dem REST-User, dann ist dieser automatisch Owner.
 +
 +==== C) Application Keys ====
 +
 +Sie verwenden Application-Keys. Dies wird in der Regel benutzt, wenn sich alle
 +Mitarbeiter via REST in Projectile anmelden können sollen, dies aber über eine App oder ähnliches
 +geschieht. Dann muss ein Application-Key generiert und in der App hinterlegt werden.
 +
 +Sie können einen neuen Application-Key unter Administration > System > REST > Create REST application
 +anlegen. Geben Sie Ihrer App eine frei gewählte ID und speichern Sie diese. Dann können Sie
 +unter Aktionen mit "​GenerateApplicationKey"​ einen neuen Key erzeugen.
 +
 +Diesen kopieren Sie bitte und übermitteln diesen als Parameter XXXXXXXXXXXX - wie folgt - bei jedem Request:
 +
 +<​file>​
 +x-application-key:​ XXXXXXXXXXXX
 +</​file>​
 +
 +{{:​module:​application-keys.png?​800|}}
 +
 +===== Zugriff auf die Daten =====
 +
 +Jetzt können Sie auf die Daten Ihrer Projectile-Instanz zugreifen.
 +
 +Laden Sie zum Beispiel eine Liste der Projekte mit einem GET-Request auf
 +diese URL.
 +
 +<​file>​
 +https://​YOUR_SERVER/​projectile/​rest/​api/​json/​0/​projects
 +</​file>​
 +
 +Beachten Sie, dass der Request die oben beschriebenen Header für Autorization
 +und application-key enthält.
 +
 +Alle zugreifbaren Daten finden Sie auch in der Referenzdokumentation unter "​Modules & Entities"​.
 +
 +<​file>​
 +https://​YOUR_SERVER/​projectile/​wiki/​rest/​index
 +</​file>​
 +
 +
 +
 +
 +
 +
  
module/rest-getting-started.1701179654.txt.gz · Last modified: 2023/11/28 14:54 by lars