Zum Hauptinhalt springen

Organisationsverwaltung

Beim Entwickeln einer Multi-Tenant-App ist ein häufiges Szenario, eine Plattform für die Mitglieder deiner Organisation bereitzustellen, auf der sie ihre Organisationsressourcen selbst verwalten können.

Nehmen wir weiterhin das grundlegende Organisationssetup, das sowohl eine Admin-Rolle als auch eine normale Mitgliederrolle enthält, als Beispiel.

RolleBerechtigungen
AdminVerwaltung der Organisationsmitglieder in der Organisation, z. B. Einladen, Aktualisieren der Mitgliederrolle, Löschen von Mitgliedern usw.
Verwaltung der Organisationsinformationen, z. B. Aktualisieren des Organisationsnamens und benutzerdefinierter Daten, Löschen der Organisation usw.
MitgliedKann nur Benutzer zur Organisation einladen.

So können wir die folgende Organisationstemplate definieren:

Organisationstemplate

Nachdem das Organisationstemplate festgelegt ist, kannst du auch eine Reihe von APIs in deinem Dienst erstellen, die im Hintergrund die Management API aufrufen, um Verwaltungsaktionen in einer bestimmten Organisation durchzuführen. Die APIs in deinem Dienst sollten das Organisationstoken validieren, um sicherzustellen, dass der Benutzer die erforderlichen Berechtigungen hat.

Beispiele für die Selbstverwaltung von Benutzern in ihren eigenen Organisationen

Hier ist eine Liste von Dingen, die du deinen Benutzern in deiner Multi-Organisation-App ermöglichen kannst:

Lass alle Mitglieder einladen:

Du kannst sowohl Admin- als auch Mitgliedsbenutzern erlauben, andere in die Organisation einzuladen. Sieh dir diese Dokumentation für Details zum Einladen von Mitgliedern an.

Admin kann Mitgliederrollen ändern:

Der Admin kann das Privileg haben, die Rollen anderer Mitglieder zu ändern. Und der Admin kann spezifischere Rollen für die Organisation erstellen, wie Abteilungsleiter, Projektmanager, Koordinator usw. Dies kann mit diesen Management APIs implementiert werden:

curl \
-X POST https://[tenant_id].logto.app/api/organizations/{id}/users/{userId}/roles \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"organizationRoleIds":["admin"]}'

Oder in einer gebündelten Weise:

curl \
-X POST https://[tenant_id].logto.app/api/organizations/{id}/users/roles \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"userIds":["userId1", "userId2"],"organizationRoleIds":["admin"]}'

Bots zur Organisation hinzufügen

Du kannst auch die Funktion implementieren, Admin-Benutzern zu erlauben, Bots zu einer bestimmten Organisation hinzuzufügen. Dies kann erreicht werden, indem zuerst Maschine-zu-Maschine (M2M) Apps erstellt werden und diese M2M Apps dann als Bots zu Organisationen hinzugefügt werden.

curl \
-X POST https://[tenant_id].logto.app/api/organizations/{id}/applications \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"applicationIds":["botAppId"]}'

Dann kannst du diesen Bots auch Organisationsrollen zuweisen.

curl \
-X POST https://[tenant_id].logto.app/api/organizations/{id}/applications/roles \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"applicationIds":["botApp1"],"organizationRoleIds":["botRoleId"]}'

Mehr Möglichkeiten mit der Management API freischalten

Die obigen Beispiele sind nur einige der vielen Möglichkeiten, die du mit der Management API erreichen kannst. Sieh dir die vollständige Liste der Logto Management API-Endpunkte an und entdecke, was du sonst noch damit machen kannst:

Organisationen abrufen

Organisationsberechtigungen abrufen

Organisationsrolle abrufen

Organisationseinladungen abrufen