Kulissien takana: Kuinka toteutamme käyttäjien yhteistyön moniasiakasohjelmassa
Käytännöt ja näkemykset kutsu- ja roolipääsynhallintaominaisuuden, kuten Logto Cloud -yhteistyön, toteuttamisesta moniasiakassovelluksessa.
Taustaa
Viime viikolla esittelimme yhteistyöominaisuuden Logto Cloudissa. Jos missasit sen, tutustu siihen! Nyt voit kutsua kollegoita ja työtovereita olemassa oleviin Logto-vuokralaisiin, tehdäkää yhteistyötä sovellustenne identiteettijärjestelmän ylläpitämiseksi.
Tässä ominaisuuspäivityksessä olemme lisänneet kaksi roolia jokaiseen Logto-vuokralaiseen:
- Admin: Täysi pääsy vuokralaiseen, mukaan lukien identiteettiin liittyvien resurssien hallinta, muiden jäsenten kutsuminen ja hallinta, laskutuksen käsittely ja laskutushistorian tarkastelu.
- Yhteistyökumppani: Voi hallita identiteettiin liittyviä resursseja, mutta ei pääse käsiksi muihin ylläpitäjän ominaisuuksiin.
Pysyen sitoutumisessamme omaan työkalujemme käyttöön, olemme hyödyntäneet RBAC (roolipohjainen pääsynhallinta) ja Organisaatiot -ominaisuuttamme käyttäjien yhteistyön rakentamisessa. Jos olet uusi RBAC:in parissa, tutustu aiempaan postaukseemme saadaksesi alkuun.
Tässä blogikirjoituksessa tarkastelemme, mitä meni tähän ominaisuuteen toteuttamiseen ja kuinka nämä käytännöt voivat hyödyttää sinua, jos kehität moniorganisaatiosovelluksia.
Logto Cloudin yhteistyö on rakennettu Logto Organisaatioilla
Jokainen Logto Cloud -vuokralainen toimii järjestelmässämme itsenäisenä organisaationa, jota tukee oma Organisaatiot-ominaisuutemme. Esitelläksemme vuokranantajan ylläpitäjä- ja yhteistyökumppaniroolit, loimme kaksi organisaatioroolia organisaatiotemplateen, joille kummallekin on määritetty tietty joukko organisaatio-oikeuksia.
Käsittele kutsut Logto Management API:lla
Olemme tarjonneet joukon kutsuihin liittyviä hallintarajapintoja organisaatiot-ominaisuudessa. Näiden API:iden avulla voit esimerkiksi:
POST /api/organization-invitations
luoda ja lähettää organisaatiokutsun sähköpostiosoitteeseenGET /api/organization-invitations
&GET /api/organization-invitations/{id}
hankkia kutsusiPUT /api/organization-invitations/{id}/status
hyväksy tai hylkää kutsu päivittämällä kutsun tila
Lisätietoja saat täydestä API-dokumentaatiosta.
Yhdistä sähköpostiliittimeesi
Koska kutsut lähetetään sähköpostitse, varmista, että sähköpostiliittimesi on oikein määritetty. Tässä julkaisussa esittelimme uuden sähköpostimallin käyttötavan, OrganizationInvitation
, joka mahdollistaa kutsusähköpostimallin mukauttamisen.
Tämä sähköpostimalli hyväksyy oletuksena {{link}}
-muuttujan, joka on linkki Logto Consolen aloitussivulle, jossa käyttäjät voivat hyv äksyä kutsun ja liittyä Logto-vuokralaiseen. Yksi Logto Cloudin aloitussivuista näyttää alla olevan kuvan mukaiselta:
Katso API-dokumentaatio saadaksesi lisätietoja kutsusähköpostin lähettämisestä Management API:n kautta.
Käytä RBAC:ia käyttäjäoikeuksien hallitsemiseen
Yllä olevien asetusten avulla voimme lähettää kutsuja sähköpostitse, ja kutsutut voivat liittyä organisaatioon määritetyllä roolilla.
Käyttäjillä, joilla on eri organisaatioroolit, on eri laajuudet (oikeudet) käyttötokeneissaan. Täten sekä asiakassovellus (Logto Console) että taustapalvelumme tarkistavat nämä laajuudet määrittääkseen näkyvät ominaisuudet ja sallitut toiminnot.
Okei, tähän mennessä kaikki näyttää olevan yhteydessä, mutta mitä muuta meiltä puuttuu?
Käsittele laajuuspäivityksiä käyttötokeneissa
Laajuuspäivitysten hallinta käyttötokeneissa sisältää:
- Olemassa olevien laajuuksien peruuttaminen: Esimerkiksi ylläpitäjän alentaminen muuhun kuin ylläpitäjän yhteistyökumppaniksi automaattisesti supistaa uusia laajuuksia uudessa käyttötokenissa, joka saadaan olemassa olevaa virkistystokenia käyttäen.
- Uusien laajuuksien myöntäminen: Vastaavasti käyttäjän ylentäminen ylläpitäjäksi vaatii uudelleen kirjautumis- tai uudelleen suostumusprosessin käynnistämistä, jotta muutos heijastuu käyttäjien käyttötokeneihin.
Logto Cloudissa Console tarkistaa aktiivisesti käyttäjän laajuuksia SWR -pyyntöjen avulla ja me myönnämme automaattisesti suostumuksen aina, kun käyttäjä ylennetään ylläpitäjäksi.
Jos toteutat vastaavan ominaisuuden RBAC:lla, tarvitset mekanismin (esim. WebSocket tai palvelimen työntötapahtumat) ilmoittaa sovelluksellesi laajuuspäivityksistä, mikä mahdollistaa uudelleen suostumuksen tai uusien käyttötokenien myöntämisen. Logto tarjoaa myös lisää webhooks-tapahtumia auttaakseen tässä tulevissa päivityksissä.
Yhteenvetona
Logto Cloudin moniasiakas- ja yhteistyöominaisuudet hyödyntävät organisaatiot-ominaisuuttamme. Jos kehität vastaavaa moniasiakassovellusta, harkitse tämän ominaisuuden hyödyntämistä vastaavilla lähestymistavoilla.
Toivon, että tämä blogiviesti osoittautuu hyödylliseksi. Kysymyksiä tai keskusteluja varten voit liittyä Discord-kanavallemme.