Auth - OpenSlides/OpenSlides GitHub Wiki
⚠️ WarnungDie Schnittstelle existiert nur für den OpenSlides-Client. Eine Aufwärts- bzw. Abwärtskompatibilität wird nicht garantiert. Schnittstellen können bei Bedarf ohne Ankündigung geändert werden.
Zur Authentifizierung wird ein Zugangstoken benötigt. Dies ist ausschließlich über einen OpenSlides-User-Account möglich, welcher über nötigen Rechte verfügt.
Der Login ist über den Auth-Service möglich.
curl -k -D - -H "Content-Type: application/json" https://localhost:8000/system/auth/login -d '{"username":"admin","password":"admin"}'
Der Rückgabewert findet sich in den HTTP-Headern des Response. Wichtig sind die
Header authentication
und set-cookie
, bzw. das Cookie refreshId
.
Um ein Request zu authentifizieren müssen die beiden oben genannten HTTP-Header gesetzt werden. Hier ein Beispiel:
curl -k \
--cookie "refreshId=bearer%20eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZXNzaW9uSWQiOiI1OTVjZTRiOGUyMTI4OGQ5NTk4ZmY4ZGNiMTRiMDQ3ZSIsInVzZXJJZCI6MSwiaWF0IjoxNjY1NTkwNzU5LCJleHAiOjE2NjgxODI3NTl9.FXjZ_B3tJbr3jz2uan-YAC3htrV5VMXbs3Hli1Ba1vQ" \
-H "authentication: bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZXNzaW9uSWQiOiI1NjM4NDcxYjhjYzVmZmJlYThjN2EwZTdjZmQwZjIzNCIsInVzZXJJZCI6MSwiaWF0IjoxNjY1NTkwNzQxLCJleHAiOjE2NjU1OTEzNDF9.7VsxZ73bcXha29eO1u5bB9M8Z9Bt82NVDnDqVGXaEJs" \
'https://localhost:8000/system/autoupdate?k=user/1/username&single=true'
Die beiden Tokens sind im jwt Format. Der Payload beider
Tokens enthalten das Feld userId
. Über Auslesen des Tokens ist es möglich die
User-ID des Nutzers herauszufinden.