Fallstudie: Bygg fleranvändarmiljöer med Logto Organizations
Lär dig hur du konfigurerar en solid och skalbar identitetsgrund för fleranvändarmiljöer med Logto Organizations.
Idag har fleranvändarmiljöer blivit en viktig del av en app eller SaaS. Det involverar ofta det komplexa sambandet mellan användare, organisationer, roller och behörigheter. Till exempel, en användare kan vara medlem i flera organisationer och vice versa; en användare kan också ha olika roller i olika organisationer.
Problemet
Detta kan leda till huvudvärk både i början och vid långsiktig underhåll av en app. Den traditionella rollbaserade åtkomstkontrollmodellen (RBAC) kan delvis lösa detta problem, men blir snabbt en mardröm när antalet användare och organisationer ökar.
Till exempel, i början kanske du bara har två roller i varje organisation: admin
och member
. När du har 10 organisationer kommer du att hantera 20 roller; när du har 1 000 organisationer kommer du att hantera 2 000 roller.
När verksamheten växer kanske du behöver lägga till fler roller, som guest
, developer
, etc. Komplexiteten i RBAC-modellen kommer att växa exponentiellt.
Vi hade samma problem när vi byggde Logto Cloud. Vi insåg snabbt att det är ett vanligt problem för branschen, och vi behöver lösa det. Och Logto Organizations finns här för att hjälpa till.
Organisation small
En snabb fråga: Varför är SaaS-appar SaaS? Vi tror att skalbarhet är en av de viktigaste anledningarna. Med andra ord, det som fungerar för en kund bör fungera för alla kunder.
Detta leder till begreppet "organisation small". En organisation small är en plan för åtkomstkontrollmodellen för varje organisation: den definierar de roller och behörigheter som gäller för alla organisationer.
Låt oss säga att vi har två roller för varje organisation:
admin
: kan hantera organisationen, inklusive att lägga till / ta bort medlemmar, ändra roller, etc.member
: kan komma åt organisationens resurser och bjuda in nya medlemmar.
Vi kan skapa en organisation small med följande konfiguration:
Lägg till användare i organisationer
Eftersom vi har satt upp organisation small, blir hantering av användare lätt och naturligt. Du kan lägga till en användare i en organisation via Logto Console (webbgränssnittet) eller via Logto Management API.
Se Konfigurera organisationer för att lära dig mer.
Vi lade till två organisationer med följande inställningar:
- Organisation A: Både Alice och Bob är medlemmar. Alice har
admin
rollen, och Bob harmember
rollen. - Organisation B: Endast Alice är medlem, och hon har
member
rollen.
Begär organisations-tokens i din app
I din kundapp kan du nu begära en organisations-access-token (organisations-token) från Logto. Organisations-token är en JWT-token som innehåller nödvändig information för din tjänst för att verifiera om användaren har behörighet i organisationen.
Detaljerade steg för att begära en organisation-token beskrivs i Integrera organisationer med din app.
Anta att Alice är inloggad i din app och hon vill ta bort en användare i Organisation A. Din app kan begära en organisation-token för "Organisation A" med remove:member
behörigheten (omfång). Logto kommer att verifiera om Alice har behörigheten i organisationen och returnera en organisation-token eftersom hon har admin
rollen:
Här är några exempel på felaktiga fall:
- Om Bob vill ta bort en användare i Organisation A, skulle Logto returnera ett fel eftersom han inte har
admin
rollen i Organisation A. - Om Alice vill ta bort en användare i Organisation B, skulle Logto också returnera ett fel eftersom hon inte har
admin
rollen i Organisation B. - Om Bob vill hämta organisation token med någon behörighet i Organisation B, skulle Logto returnera ett fel eftersom han inte har medlemskap i Organisation B.
Efter att din app har tagit emot organisation-token kan den kalla din tjänst med organisation-token genom att lägga till den i Authorization
rubriken.
Verifiera organisations-tokens i din tjänst
I din tjänst kan du verifiera organisation-token genom standardprocessen för JWT-verifiering. Se Verifiera organisation tokens för mer detaljer.
Uppdatera organisation small
När du behöver uppdatera organisation small, till exempel lägga till en ny roll kallad developer
, kan du göra det i Logto Console eller via Logto Management API. Ändringen kommer automatiskt att gälla för alla organisationer utan avbrott.
Slutsats
Med Logto Organizations blir hantering och skalning av fleranvändarmiljöer standardiserat och bekvämt. Du kan fokusera på din affärslogik och lämna identitet och åtkomstkontroll till Logto.