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.
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
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 erfahrenPOST /api/organization-invitations/{id}/message: Die Organisationseinladung per E-Mail an den Eingeladenen senden.
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"
}