homelab-docker-compose/matrix/docs/user-management.md
2026-03-05 12:49:03 +00:00

2.8 KiB
Raw Permalink Blame History

User & Token Verwaltung

Registrierung ist nicht offen neue User können nur über Einladungstokens beitreten.

Access Token holen

Für alle Admin-API-Aufrufe wird ein Access Token benötigt. Nach dem Login mit dem Admin-Account:

curl -X POST 'http://localhost:8008/_matrix/client/v3/login' \
  -H 'Content-Type: application/json' \
  -d '{
    "type": "m.login.password",
    "user": "admin",
    "password": "DEINPASSWORT"
  }'

Den access_token aus der Antwort für alle weiteren Befehle verwenden.


Einladungstokens

Token erstellen (Einmalnutzung)

curl -X POST 'http://localhost:8008/_synapse/admin/v1/registration_tokens/new' \
  -H 'Authorization: Bearer DEIN_ACCESS_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{"uses_allowed": 1}'

Token mit Ablaufdatum erstellen

curl -X POST 'http://localhost:8008/_synapse/admin/v1/registration_tokens/new' \
  -H 'Authorization: Bearer DEIN_ACCESS_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "uses_allowed": 1,
    "expiry_time": 1800000
  }'

expiry_time ist ein Unix-Timestamp in Millisekunden.

Alle aktiven Tokens anzeigen

curl 'http://localhost:8008/_synapse/admin/v1/registration_tokens' \
  -H 'Authorization: Bearer DEIN_ACCESS_TOKEN'

Token löschen

curl -X DELETE \
  'http://localhost:8008/_synapse/admin/v1/registration_tokens/TOKEN_HIER' \
  -H 'Authorization: Bearer DEIN_ACCESS_TOKEN'
https://matrix.theocloud.dev/#/register?token=TOKEN_AUS_DEM_ERSTELL-BEFEHL

Der Freund öffnet den Link in einem Matrix-Client (z.B. Element Web) und kann sich damit registrieren.


User direkt per CLI anlegen

Ohne Einladungstoken direkt über den Container (braucht registration_shared_secret in .env):

docker exec -it synapse register_new_matrix_user \
  -u BENUTZERNAME \
  -p INITIALPASSWORT \
  http://localhost:8008

Mit Admin-Rechten:

docker exec -it synapse register_new_matrix_user \
  -u BENUTZERNAME \
  -p INITIALPASSWORT \
  --admin \
  http://localhost:8008

User über Admin-API verwalten

User anlegen oder Passwort setzen

curl -X PUT \
  'http://localhost:8008/_synapse/admin/v2/users/@BENUTZERNAME:matrix.theocloud.dev' \
  -H 'Authorization: Bearer DEIN_ACCESS_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "password": "NEUESPASSWORT",
    "admin": false
  }'

User deaktivieren

curl -X POST \
  'http://localhost:8008/_synapse/admin/v1/deactivate/@BENUTZERNAME:matrix.theocloud.dev' \
  -H 'Authorization: Bearer DEIN_ACCESS_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{"erase": false}'

Alle User auflisten

curl 'http://localhost:8008/_synapse/admin/v2/users?from=0&limit=100' \
  -H 'Authorization: Bearer DEIN_ACCESS_TOKEN'