Zum Hauptinhalt springen

Organisationsmitglieder einladen

In Multi-Tenancy-Anwendungen ist es eine häufige Anforderung, Mitglieder zu einer Organisation einzuladen. Diese Anleitung führt durch die Schritte und technischen Details zur Implementierung dieser Funktion.

Ablaufübersicht​

Der gesamte Prozess wird im folgenden Diagramm veranschaulicht:

Organisationsrollen erstellen​

Bevor Mitglieder eingeladen werden, erstelle Organisationsrollen. Siehe die Organisationstemplate, um mehr über Rollen und Berechtigungen zu erfahren.

In dieser Anleitung erstellen wir zwei typische Organisationsrollen: admin und member.

Die admin-Rolle hat vollen Zugriff auf alle Ressourcen der Organisation, während die member-Rolle eingeschränkten Zugriff hat. Zum Beispiel:

  • admin-Rolle:
    • read:data – Lesezugriff auf alle Organisationsdatenressourcen.
    • write:data – Schreibzugriff auf alle Organisationsdatenressourcen.
    • delete:data – Löschzugriff auf alle Organisationsdatenressourcen.
    • invite:member – Mitglieder zur Organisation einladen.
    • manage:member – Mitglieder in der Organisation verwalten.
    • delete:member – Mitglieder aus der Organisation entfernen.
  • member-Rolle:
    • read:data – Lesezugriff auf alle Organisationsdatenressourcen.
    • write:data – Schreibzugriff auf alle Organisationsdatenressourcen.
    • invite:member – Mitglieder zur Organisation einladen.

Dies kann einfach in der Logto Console erledigt werden. Du kannst auch die Logto Management API verwenden, um Organisationsrollen programmatisch zu erstellen.

E-Mail-Connector konfigurieren​

Da Einladungen per E-Mail versendet werden, stelle sicher, dass dein E-Mail-Connector korrekt konfiguriert ist. Um Einladungen zu versenden, konfiguriere eine E-Mail-Vorlage mit dem Verwendungstyp OrganizationInvitation. Du kannst Organisations- (z. B. Name, Logo) und Einladenden- (z. B. E-Mail, Name) Variablen im Inhalt verwenden und lokalisierte Vorlagen nach Bedarf anpassen.

Eine Beispiel-E-Mail-Vorlage für den Verwendungstyp OrganizationInvitation ist unten dargestellt:

{
"subject": "Willkommen in meiner Organisation",
"content": "<p>Tritt {{organization.name}} über diesen <a href=\"{{link}}\" target=\"_blank\">Link</a> bei.</p>",
"usageType": "OrganizationInvitation",
"type": "text/html"
}

Der Platzhalter {{link}} im E-Mail-Inhalt wird beim Versand der E-Mail durch den tatsächlichen Einladungslink ersetzt.

hinweis:

Der integrierte „Logto-E-Mail-Service“ von Logto Cloud unterstützt derzeit nicht den Verwendungstyp OrganizationInvitation. Konfiguriere stattdessen deinen eigenen E-Mail-Connector (z. B. SendGrid) und richte die OrganizationInvitation-Vorlage ein.

Einladungen mit Logto Management API verwalten​

hinweis:

Falls du die Logto Management API noch nicht eingerichtet hast, siehe Mit Management API interagieren für Details.

Organisationseinladung mit Logto Management API erstellen​

Im Organisations-Feature gibt es eine Reihe von einladungsbezogenen Management APIs. Mit diesen APIs kannst du:

  • POST /api/organization-invitations: Eine Organisationseinladung mit zugewiesener Organisationsrolle erstellen.
  • POST /api/one-time-tokens: Ein Einmal-Token für den Eingeladenen erstellen, um sich zu authentifizieren, wenn er die Einladung annimmt. Mehr erfahren
  • POST /api/organization-invitations/{id}/message: Die Organisationseinladung per E-Mail an den Eingeladenen senden.
hinweis:

Das Payload unterstützt eine link-Eigenschaft, sodass du deinen eigenen Einladungslink basierend auf der Einladung-ID erstellen kannst. Zum Beispiel:

{
"link": "https://your-app.com/invitation/join?id=your-invitation-id&token=your-one-time-token&email=invitee-email"
}