Zum Hauptinhalt springen

Berechtigungs- und Ressourcenverwaltung

Verwende die Organisation als Ressource und wende eine Organisationstemplate an, um sie zu schützen. Zum Beispiel hat jede Organisation innerhalb eines Mandanten ihre eigenen Dokumente. Nur Benutzer mit den richtigen Rollen können diese Dokumente bearbeiten oder löschen.

Siehe Organisationsberechtigungen für Details.

Verwende organisationsbasierte rollenbasierte Zugangskontrolle (RBAC), um Benutzerberechtigungen zu verwalten

Mit der obigen Einrichtung kannst du Einladungen per E-Mail versenden, und Eingeladene können der Organisation mit der zugewiesenen Rolle beitreten.

Benutzer mit unterschiedlichen Organisationsrollen haben unterschiedliche Berechtigungen (Scopes) in ihren Organisationstokens. Sowohl deine Client-App als auch Backend-Services sollten diese Berechtigungen prüfen, um sichtbare Funktionen und erlaubte Aktionen zu bestimmen.

Umgang mit Berechtigungsaktualisierungen in Organisationstokens

Dieser Abschnitt behandelt fortgeschrittene Themen zur Verwaltung des Organisationstemplates und Autorisierungsszenarien. Wenn du mit diesen Konzepten nicht vertraut bist, lies zuerst Autorisierung und Organisationstemplate.

Die Verwaltung von Berechtigungsaktualisierungen in Organisationstokens umfasst:

Vorhandene Berechtigungen widerrufen

Zum Beispiel sollte das Herabstufen eines Admins zu einem Nicht-Admin-Mitglied Berechtigungen vom Benutzer entfernen. In solchen Fällen lösche das zwischengespeicherte Organisationstoken und hole ein neues mit einem Auffrischungstoken. Die reduzierten Berechtigungen werden sofort im neu ausgestellten Organisationstoken widergespiegelt.

Neue Berechtigungen gewähren

Dies kann in zwei Szenarien unterteilt werden:

Neue Berechtigungen gewähren, die bereits in deinem Auth-System definiert sind

Ähnlich wie beim Widerrufen von Berechtigungen: Wenn die neu gewährte Berechtigung bereits beim Auth-Server registriert ist, stelle ein neues Organisationstoken aus und die neuen Berechtigungen werden sofort widergespiegelt.

Neue Berechtigungen gewähren, die neu in dein Auth-System eingeführt wurden

In diesem Fall löse einen erneuten Anmelde- oder Zustimmungsprozess aus, um das Organisationstoken des Benutzers zu aktualisieren. Rufe zum Beispiel die signIn-Methode im Logto SDK auf.

Berechtigungen in Echtzeit prüfen und das Organisationstoken aktualisieren

Logto stellt eine Management API bereit, um die aktuellen Benutzerberechtigungen in der Organisation in Echtzeit abzurufen.

Vergleiche die Berechtigungen im Organisationstoken des Benutzers mit den Echtzeit-Berechtigungen, um festzustellen, ob der Benutzer befördert oder herabgestuft wurde.

  • Wenn herabgestuft, lösche das zwischengespeicherte Organisationstoken und das SDK stellt automatisch ein neues mit den aktualisierten Berechtigungen aus.

    const { clearAccessToken } = useLogto();

    ...
    // Wenn die abgerufenen Echtzeit-Berechtigungen weniger Berechtigungen haben als die Organisationstoken-Berechtigungen
    await clearAccessToken();

    Dies erfordert keinen erneuten Anmelde- oder Zustimmungsprozess. Neue Organisationstokens werden automatisch vom Logto SDK ausgestellt.

  • Wenn eine neue Berechtigung in dein Auth-System eingeführt wird, löse einen erneuten Anmelde- oder Zustimmungsprozess aus, um das Organisationstoken des Benutzers zu aktualisieren. Zum Beispiel mit dem React SDK:

    const { clearAllTokens, signIn } = useLogto();

    ...
    // Wenn die abgerufenen Echtzeit-Berechtigungen neu zugewiesene Berechtigungen haben als die Organisationstoken-Berechtigungen
    await clearAllTokens();
    signIn({
    redirectUri: '<your-sign-in-redirect-uri>',
    prompt: 'consent',
    });

    Der obige Code löst eine Navigation zum Zustimmungsbildschirm aus und leitet automatisch zurück zu deiner App mit aktualisierten Berechtigungen im Organisationstoken des Benutzers.