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

Both sides previous revision Previous revision
Next revision
Previous revision
module:rest-getting-started [2023/11/28 15:02]
lars
module:rest-getting-started [2023/12/04 11:35] (current)
alexandra [C) Application Keys]
Line 12: Line 12:
 zum Beispiel Postman: https://​www.postman.com. zum Beispiel Postman: https://​www.postman.com.
  
-Für eine Benutzung der Schnittstelle müssen Sie sich Authentifizieren,​ siehe +===== Authentifizierung ===== 
 + 
 +Für eine Benutzung der Schnittstelle müssen Sie sich Authentifizieren,​ siehe
  
 <​file>​ <​file>​
Line 20: Line 22:
 Sie übermitteln also das Token als Authorization-Header mit dem Bearer-Prefix:​ Sie übermitteln also das Token als Authorization-Header mit dem Bearer-Prefix:​
  
-{{:​module:​bearer.png?​400|}}+{{:​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.1701180129.txt.gz · Last modified: 2023/11/28 15:02 by lars