• saas
  • yhteistyö
  • organisaatiot
  • rbac
  • moniasiakkuus

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.

Charles
Charles
Developer

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.

Organisaatio roolit
Organisaatio laajuudet

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öpostiosoitteeseen
  • GET /api/organization-invitations & GET /api/organization-invitations/{id} hankkia kutsusi
  • PUT /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.

kutsusähköpostin esimerkki

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:

kutsun aloitussivu

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.