Rakenna monivuokralainen SaaS-sovellus: Täydellinen opas suunnittelusta toteutukseen
Opi rakentamaan monivuokralainen SaaS-sovellus tehokkaalla todennuksella, organisaation hallinnalla ja roolipohjaisella pääsynvalvonnalla vain muutamassa tunnissa.
Miten sovellukset kuten Notion, Slack tai Figma rakennetaan? Nämä monivuokralaiset SaaS-sovellukset näyttävät yksinkertaisilta käyttää, mutta rakennatko sellaisen itse? Se on eri tarina.
Kun ensimmäisen kerran ajattelin rakentaa jotain näin monimutkaista, mieleni räjähti:
- Käyttäjät tarvitsevat useita kirjautumisvaihtoehtoja (sähköposti, Google, GitHub)
- Jokainen käyttäjä voi luoda ja kuulua useisiin organisaatioihin
- Eri lupaustasot kunkin organisaation sisällä
- Yritysorganisaatioiden vaatimukset automaattiselle liittymiselle tietyille sähköpostidomaineille
- MFA-vaatimukset arkaluonteisille toiminnoille
- ...
"Pomoni, puhutaan kahden viikon kuluttua tuotteen suunnittelusta. Olen nyt jumissa."
Mutta kun aloitin sen parissa työskentelyn, huomasin, että se ei ole niin pelottavaa kuin miltä se vaikuttaa.
Rakensin juuri järjestelmän, jossa on kaikki nämä ominaisuudet, ALLE 2 TUNNISSA!
Näytän sinulle tarkalleen kuinka suunnitella ja toteuttaa tällainen järjestelmä alusta alkaen - ja tulet hämmästymään siitä, kuinka yksinkertaista se todella on vuonna 2025 modernien työkalujen ja oikean arkkitehtuurin avulla.
Koko lähdekoodi on saatavilla tämän artikkelin lopussa. Sukelletaan asiaan!
Aloitetaan AI-dokumentaatio SaaS-tuotteesta nimeltä DocuMind.
DocuMind on AI-dokumentaatio SaaS-tuote, joka on suunniteltu monivuokralaismallilla tukemaan yksittäisiä käyttäjiä, pieniä yrityksiä ja yrityksiä.
Alusta tarjoaa tehokkaita tekoälyominaisuuksia dokumenttien hallintaan, mukaan lukien automaattinen yhteenvetojen luominen, avainkohtien erottelu ja älykkäät sisältösuositukset organisaatioiden sisällä.
Mitä ominaisuuksia tarvitaan SaaS-todennukseen ja -valtuutukseen?
Aloitetaan tarkistamalla tarvittavat vaatimukset. Mitä ominaisuuksia tarvitset?
Monivuokra-arkkitehtuuri
Monivuokra-arkkitehtuurin mahdollistamiseksi tarvitset entiteettikerroksen nimeltä organisaatio. Kuvittele, että sinulla on yksi käyttäjäpooli, joka voi käyttää useita työtiloja. Jokainen organisaatio edustaa työtilaa, ja käyttäjät ylläpitävät yhtä identiteettiä päästessään käsiksi eri työtiloihin (organisaatioihin) rooleihin perustuen.
Se on laajalti käytetty ominaisuus todennuspalveluntarjoajissa. Organisaatio identiteetin hallintajärjestelmässä vastaa SaaS-sovelluksen työtilaa, projektia tai vuokralaista.
Jäsenyys
Jäsen on väliaikainen käsite, jota käytetään osoittamaan identiteetin jäsenyystila organisaatiossa.
Esimerkiksi Sarah rekisteröityy sovellukseesi käyttämällä sähköpostiaan, [email protected]. Hän voi kuulua eri työtiloihin. Jos Sarah on osa Työtila A:ta mutta ei Työtila B:tä, hänet katsotaan Työtila A:n jäseneksi mutta ei Työtila B:n jäseneksi.
Roolien ja oikeuksien suunnittelu
Monivuokra-arkkitehtuurissa käyttäjät tarvitsevat roolit tietyillä oikeuksilla päästäkseen vuokraresursseihinsa.
Oikeudet ovat yksityiskohtaisia pääsynvalvontaa, jotka määrittelevät tietyt toiminnot, kuten read: order
tai write: order
. Ne määrittävät, mitä toimintoja voi suorittaa tietyille resursseille.
Roolit ovat joukko oikeuksia, jotka on määritetty jäsenille monivuokraympäristössä.
Sinun täytyy määritellä nämä roolit ja oikeudet, sitten määrittää roolit käyttäjille, ja joskus se voi sisältää automatisoituja prosesseja. Esimerkiksi:
- Käyttäjät, jotka liittyvät organisaatioon, saavat automaattisesti jäsen -roolin.
- Ensimmäiselle työtilan luovalle käyttäjälle annetaan automaattisesti admin -rooli.
Rekisteröinti- ja kirjautumisprosessi
Varmista käyttäjäystävällinen ja turvallinen rekisteröinti- ja todennusprosessi, johon sisältyy peruskirjautumis- ja rekisteröintivaihtoehdot:
- Sähköposti ja salasanat -kirjautuminen: Perinteinen kirjautumistapa sähköpostilla ja salasanalla.
- Salasanaton kirjautuminen: Sähköpostivarmennuskoodien käyttö helppoon ja turvalliseen pääsyyn.
- Tilinhallinta: Tilikeskus, jossa käyttäjät voivat päivittää sähköpostiaan, salasanaansa ja muita tietoja.
- Sosiaalinen kirjautuminen: Kuten Google ja GitHub nopeaan kirjautumiseen.
- Monivaiheinen todennus (MFA): Paranna turvallisuutta sallimalla kirjautuminen todennussovellusten, kuten Duon, kautta.
Vuokralaisen luominen ja kutsuminen
Monivuokralaisessa SaaS-sovelluksessa tärkeä ero käyttäjäprosessissa on tarve tukea vuokralaisen luomista ja jäsenkutsuja. Tämä prosessi vaatii huolellista suunnittelua ja toteutusta, koska sillä on keskeinen rooli tuotteen aktivoitumisessa ja kasvussa.
Tässä on muutamia tyypillisiä käyttäjävirtoja, jotka sinun on otettava huomioon:
Käyttäjätyyppi | Sisääntulopiste |
---|---|
Uusi tili | Tule kirjautumis- ja rekisteröintisivulta luomaan uusi vuokralainen |
Olemassa oleva tili | Luo toinen vuokralainen tuotteen sisällä |
Olemassa oleva tili sai uuden vuokralaiskutsun | Tule kirjautumis- ja rekisteröintisivulta |
Olemassa oleva tili sai uuden vuokralaiskutsun | Tule kutsusähköpostista |
Uusi tili sai uuden vuokralaiskutsun | Tule kirjautumis- ja rekisteröintisivulta |
Uusi tili sai uuden vuokralaiskutsun | Tule kutsusähköpostista |
T ässä on joitakin yleisiä skenaarioita, joita löytyy lähes jokaisesta SaaS-sovelluksesta. Käytä näitä viitetietona inspiroimaan tuote- ja suunnittelutiimiäsi, ja voit luoda omia virtoja tarpeen mukaan.
Tekninen arkkitehtuuri ja järjestelmän suunnittelu
Kun ymmärrämme kaikki tuotevaatimukset, siirrytään toteutukseen.
Määrittele todennusstrategia
Todennus näyttää pelottavalta. Käyttäjät tarvitsevat:
- Sähköposti & salasana -rekisteröinti/kirjautuminen
- Yhden napsautuksen kirjautuminen Google/Githubin kanssa
- Salasanan palautus, kun unohtavat
- Tiimille laajuinen kirjautuminen yritysasiakkaille
- ...
Näiden perusominaisuuksien toteuttaminen voisi viedä viikkoja kehitystä.
Mutta nyt meidän ei tarvitse rakentaa MITÄÄN tästä itse!
Modernit todennuksen tarjoajat (valitsen Logto tällä kertaa) ovat paketoineet kaikki nämä ominaisuudet meille. Todennusvirtaus on selkeä:
Viikkojen kehittämisestä 15 minuutin asennukseen, Logto hoitaa kaikki monimutkaiset virtaukset puolestamme! Käsittelemme integraatiovaiheet toteutusosiossa myöhemmin. Nyt voimme keskittyä rakentamaan DocuMind-ydinominaisuuksia!
Perusta monivuokra-arkkitehtuuri
Organisaatiojärjestelmä mahdollistaa käyttäjien luoda ja liittyä useisiin organisaatioihin. Ymmärretään ydinsuhteet:
Tässä järjestelmässä jokainen käyttäjä voi kuulua useisiin organisaatioihin, ja jokaisessa organisaatiossa voi olla useita jäseniä.
Ota käyttöön pääsynvalvonta monivuokra-sovelluksessa
Roolipohjainen pääsynvalvonta (RBAC) on tärkeä turvallisuuden ja skaalautuvuuden varmistamiseksi monivuokra SaaS-sovelluksissa.
Monivuokra-sovelluksessa oikeuksien ja roolien suunnittelu on yleensä johdonmukaista, sillä se perustuu tuotesuunnitteluun. Esimerkiksi useissa työtiloissa on yleensä admin-rooli ja jäsenrooli. Logto todennuksen tarjoajana on seuraava organisaatiotason roolipohjainen pääsynvalvontamalli:
- Yhtenäinen oikeuksien määrittely: Oikeudet määritellään järjestelmätasolla ja niitä sovelletaan johdonmukaisesti kaikkiin organisaatioihin, mikä varmistaa ylläpidettävän ja johdonmukaisen oikeuksien hallinnan
- Organisaatiomallit: Ennalta määritellyt rooli- ja oikeusyhdistelmät organisaatiomallien kautta, mikä yksinkertaistaa organisaation aloitusvaihetta
Oikeussuhde näyttää tältä:
Koska jokainen käyttäjä tarvitsee oman roolin organisaatioissaan, roolien ja organisaatioiden välisen suhteen on heijastettava käyttäjille annettuja rooleja:
Olemme suunnitelleet organisaatiojärjestelmän ja pääsynvalvontajärjestelmän, ja nyt voimme aloittaa tuotteemme rakentamisen!
Tekninen pino
Valitsin aloittelijalle ystävällisen, siirrettävän pinon:
- Frontend: React (helposti siirrettävissä Vue/Angular/Svelte)
- Backend: Express (yksinkertainen, intuitiivinen API)
Miksi erottaa frontend ja backend? Koska sillä on selkeä arkkitehtuuri, helppo oppia ja yksinkertainen vaihtaa pinoja. Ja todennuspalveluntarjoajana käytän Logtoa esimerkkinä.
Ja seuraaville ohjeille, sen mallit toimivat: Mikä tahansa frontend, mikä tahansa backend ja mikä tahansa todennusjärjestelmä.
Lisää perusrekisteröitymisvirtaus sovellukseesi
Tämä on helpoin vaihe. Meidän tarvitsee vain integroida Logto projektiimme. Sitten voimme määrittää käyttäjän kirjautumis-/rekisteröintimenetelmät Logto Console:ssa tarpeisiimme perustuen.
Asenna Logto sovellukseesi
Kirjaudu ensin Logto Cloud. Voit rekisteröidä ilmaisen tilin, jos sinulla ei ole sellaista. Luo kehitysvuokralainen testaukseen.
Vuokralaiskonsolissa napsauta vasemmalla "Sovellus" -painiketta. Valitse sitten React aloittaaksesi sovelluksen rakentamisen.
Seuraa sivun opastusta. Voit suorittaa Logton integraation noin 5 minuutissa!
Tässä on integraatiokoodini:
Tässä on hyödyllinen vinkki: Kirjautumissivullamme on sekä Kirjaudu sisään että Rekisteröidy -painikkeet. Rekisteröinti-painike ohjaa suoraan Logton rekisteröintisivulle. Tämä toimii Logton first screen -ominaisuuden kautta. Se määrittää, mikä auth flow -vaihe käyttäjät näkevät ensimmäisenä.
Voit oletuksena siirtyä rekisteröintisivulle, kun tuotteesi odottaa monia uusia käyttäjiä.
Klikkauksen jälkeen kirjaudut Logton kirjautumissivulle. Onnistuneen kirjautumisen (tai rekisteröinnin) jälkeen, onneksi olkoon! Sovelluksellasi on ensimmäinen käyttäjä (sinä)!
Ja kutsu signOut
-metodia useLogto
-koukusta kirjautuaksesi käyttäjän ulos, kun haluat.
Mukauta kirjautumis- ja rekisteröintimenetelmät
Logto Console:ssa napsauta vasemman puoleista "Kirjautumiskokemus" -valikkoa. Sitten klikkaa "Rekisteröinti ja kirjautuminen" -välilehteä. Tällä sivulla noudata ohjeita Logton kirjautumis-/rekisteröintimenetelmien määrittämiseksi.
Ja kirjautumisprosessi näyttää tältä:
Ota käyttöön monivaiheinen todennus
Logton kanssa MFA:n mahdollistaminen on helppoa. Napsauta vain "Monivaiheinen todennus" -painiketta Logto Console:ssa. Ota se sitten käyttöön Monivaiheinen todennus -sivulla.
Ja MFA-prosessi näyttää tältä:
Kaikki on niin yksinkertaista! Olemme ottaneet käyttöön monimutkaisen käyttäjätodennusjärjestelmän vain muutamassa minuutissa!
Monivuokraorganisaatiokokemuksen lisääminen
Nyt meillä on ensimmäinen käyttäjämme! Kuitenkin tämä käyttäjä ei kuulu mihinkään organisaatioon vielä, emmekä ole luoneet yhtään organisaatiota.
Logto tarjoaa sisäänrakennettua tukea moniasukkaisuudelle. Voimme luoda mitä tahansa määrää organisaatioita Logtossa. Jokaisessa organisaatiossa voi olla useita jäseniä.
Jokainen käyttäjä voi saada organisaatiotietojaan Logtosta. Tämä mahdollistaa moniasukkaisuustuen
Hae käyttäjän organisaatiotiedot
Saadakseen käyttäjän organisaation tiedot Logtosta, noudata näitä kahta vaihetta:
Ilmoita organisaation tietohaku Logto Config -asetukseen. Tämä tehdään asettamalla sopivat scopes
ja resources
.
Käytä Logton fetchUserInfo
-menetelmää saadaksesi käyttäjätiedot, mukaan lukien organisaatiotiedot.
Kun olet suorittanut nämä vaiheet, sinun on kirjauduttava ulos ja kirjauduttava uudelleen. Tämä on tarpeen, koska muokkasimme pyydettyä scopea ja resurssia.
Tällä hetkellä et ole luonut yhtään organisaatiota. Käyttäjä ei ole myöskään liittynyt mihinkään organisaatioon. Hallintapaneelissa lukee "Sinulla ei ole vielä organisaatiota".
Seuraavaksi luodaan organisaatio käyttäjillemme ja lisätään heidät siihen.
Kiitos Logton ansiosta, meidän ei tarvitse rakentaa monimutkaisia organisaatiosuhteita. Meidän tarvitsee vain luoda organisaatio Logtossa ja lisätä käyttäjät siihen. Logto hoitaa kaiken monimutkaisuuden puolestamme. Organisaatioita voidaan luoda kahdella tavalla:
- Luo organisaatiot manuaalisesti Logto Console:n kautta
- Käytä Logto-hallinta-API:ta organisaatioiden luomiseen, erityisesti ajatellessasi SaaS-virtaa, joka antaa käyttäjien luoda omia organisaatioitaan (työtiloja).
Luo organisaatio Logto-konsolissa
Klikkaa "Organisaatiot" -valikkonappia Logto Console:n vasemmalla puolella. Luo organisaatio.
Nyt sinulla on ensimmäinen organisaatiosi.
Seuraavaksi lisätään käyttäjä tähän organisaatioon.
Siirry organisaation tiedot -sivulle. Vaihda Jäsenet-välilehteen. Klikkaa "+ Lisää jäsen" -painiketta. Valitse kirjautumiskäyttäjäsi vasemmasta listasta. Klikkaa "Lisää jäsenet" -painiketta oikeassa alakulmassa. Nyt olet onnistuneesti lisännyt käyttäjän tähän organisaatioon.
Päivitä SOVELLUSSIVUSI. Näet, että käyttäjä kuuluu nyt organisaatioon!
Toteuta itsepalveluna organisaation luomiskokemus
Organisaation luominen konsolissa ei riitä. SaaS-sovelluksesi tarvitsee virran, joka antaa loppukäyttäjille mahdollisuuden helposti luoda ja hallita omia työtilojaan. Tämän toiminnallisuuden toteuttamiseksi käytä Logto-hallinta-API:ta.
Katso Interact with Management API -dokumentaatiosta API-yhteyden määrittämisen ohje Logton kanssa.
Ymmärrä organisaation todennusvuorovaikutuksen virtaus
Otetaan organisaation luomisprosessi esimerkiksi. Näin organisaation luomisprosessi toimii:
Tässä virrassa on kaksi keskeistä todennusvaatimusta:
- Takapalvelinreseptin suojelu:
- Todoimien hallitseminen edellyttää tunnistautumista
- API-päätepisteet ovat suojattu todennustunnuksen varmentamisella
- Varmistetaan, että vain varmennetut käyttäjät pääsevät käsiksi palveluihimme
- Logto-hallinta-API:n käyttö:
- Takapalvelin tarvitsee turvallisesti pääsyn Logto-hallinta-API:hin
- Noudata Interact with Management API -opasta asennuksen suhteen
- Käytä kone-koneeseen todennusmenetelmää hankkiaksesi käyttöluvat
Suojaa taustapalvelimen API
Luo ensin API-päätepiste takapalvelimeemme organisaatioiden luomiseksi.
Takapalvelimen API-päätepiste mahdollistaa vain varmennetuille käyttäjille. Meidän on käytettävä Logtoa suojataksemme API:tamme. Meidän on myös tiedettävä nykyisen käyttäjän tiedot (kuten käyttäjän tunnus).
Logton käsitteen (sekä OAuth 2.0:n) mukaan backend-palvelumme toimii resurssipalvelimena. Käyttäjät pääsevät käsiksi DocuMind-resurssipalvelimeen käyttämällä etukäytön todennustunnusta. Resurssipalvelin vahvistaa tämän tunnuksen. Jos se on validi, se palauttaa pyydetyt resurssit.
Luo API-resurssi edustamaan takapalveluamme.
Siirry Logto Consoleen.
- Klikkaa oikealla "API-resurssit" -painiketta.
- Klikkaa "Luo API-resurssi". Valitse Popupissa Express.
- Täytä "DocuMind API" API:n nimeksi. Käytä "https://api.documind.com" API-tunnisteena.
- Klikkaa luo.
Etunäpäyksellä näkyvistä URL-osoitteista. Se on vain yksilöivä tunniste API:llesi Logtossa. Se ei liity varsinaiseen backend-palvelimen URL-osoitteeseen.
Näet tutoriaalin API-resurssin käyttoon. Voit seurata tuota tutoriaalia tai omia vaiheisiamme alla.
Luo requireAuth middleware suojellaksesi POST /organizations päätepistettä.
Jotta voimme käyttää tätä keskikerrosta, tarvitsemme nämä ympäristömuuttujat:
- LOGTO_JWKS_URL
- LOGTO_ISSUER
Nämä muuttujat voimme hankkia Logto-vuokralaisen OpenID Configuration -päätetyölündistä. Vieraile https://<your-tenant-id>.logto.app/oidc/.well-known/openid-configuration
. siitä löytyvässä JSON:ssa on tarvittavat tiedot:
Käytä requireAuth middleware käyttämällä POST /organizations päätepistettä.
Tämä suojaa POST /organizations päätöskohtaa. Vain käyttäjät, joilla on voimassaoleva Logto-todistustunnus voivat avata sen.
Nyt voimme saada tunnisteen Logtosta frontendissä. Käyttäjät voivat luoda organisaatioita takapalvelumme kautta tämän tunnisteen avulla. Middleware antaa meille myös käyttäjä-ID:n. Tämä auttaa, kun käyttäjät lisätään organisaatioihin.
Frontendissä, käytetään API-resurssia Logto-konfiguraatiossa. Lisää sen tunniste resources-magnee.
Kuten aiemmin, käyttäjien on kirjauduttava ulos ja kirjattava uudelleen Logto-määrittämisen jälkeen.
Hallintapaneelissa hakee Logto-todiniksen luomalla organisaation. Käytä tätä tunnisteodcast palapelin API-yhteydessä.
Nyt voimme oikein käyttää DocuMind takapalvelun API:a.
Soittaen Logto Management API:ta
Toteutetaan organisaation luominen Logto Management API:ta käyttäen.
Aivan kuten etujen pyynnöt back-palvelimeen, takapalvelinpyynnöt Logtoon tarvitsevat pääsytodistustunnuksen.
Logtossa käytämme konekoneeseen todennusmenetelmää pääsytunnusteille. Katso Interact with Management API.
Mene Logto Console Applicationin sivulle. Luo koneen koneen käyttöoikeudellinen sovellus. Määritä "Logto Management API" pääsyoikeusrooli. Kopioi tavujentiennustepäätteeseen, Sovellustunniste ja sovelluksen salainen koodi. Käytämme näitä pääsytunnusgetnuksille.
Nyt voimme heti saada apaciantapit Logto Management API:piist tunnuksiesillä tuon m2m-sovelluksen.
Käytä tätä päästä Logto Management API:a.
Käytämme näitä hallinta-API:a:
POST /api/organizations
: Luo organisaatio (katso: Luo organisaatio API reference)POST /api/organizations/{id}/users
: Lisää käyttäjät organisaatioon (katso: Lisää käyttäjiä organisaatio API reference)
Olemme nyt toteuttaneet organisaation luomisen Logto Management API:lla. Voimme myös lisätä käyttäjiä organisaatioihin.
Testataan tätä toimintoa hallintapaneelissa.
ja napsauta "Luo organisaatio"
Luominen onnistui!
Seuraavana vaiheena olisi kutsua käyttäjiä organisaatioon. Emme vielä toteuta tämän ominaisuuden tutorissamme. Tiedät jo, kuinka käyttää Management API:ta. Voit viitata tähän Vuokralaisen luominen ja kutsuminen tuotesuunnittelureferenssinä ja toteuttaa tämän ominaisuuden helposti seuraamalla tätä blogikirjoitusta: Kuinka toteutamme käyttäjäyhteistyön monivuokralaisesssa sovelluksessa.
Toteuta pääsynvalvonta monivuokrailsovelluksessasi
Siirrytään nyt organisaation pääsyn valvontaan.
Haluamme saavuttaa:
- Käyttäjät voivat vain yrittää käyttää resursseja, jotka kuuluvat niiden organisaatioille: Tämä tapahtuu Logton
organizaatiotoken
avulla - Käyttäjillä on tiettyjä roleja organisaationsa sisällä (sisältäen erilaisia oikeuksia) toimiakseen valtuutettuina: Tämä voidaan toteuttaa Logton organisaatiomallien avulla
Katsotaan, miten nämä ominaisuudet toteutetaan.
Käyttäen Logto-organisaatiotokenia
Samoin kuin aiemmin mainittua Logto-pääsytunnusta, Logto antaa pääsytunnuksen vastaamaan tiettyä resurssia, ja käyttäjät käyttävät tätä tunnusta suojattujen resurssien tarkkaan kohdentamiseen takapalvelussa. Vastaavasti Logto antaa organisaatiotokenin vastaamaan tiettyä organisaatiota, ja käyttäjät käyttävät tätä tunnusta suojattujen organisaatiosresurssien tarkkaan siirtämiseen takapalvelussa.
Frontend-sovelluksessa voimme käyttää Logton getOrganizationToken
-metodia saadaksemme tunnuksen päästäksemme käsiksi tiettyyn organisaatioon.
Tässä organizationId
on-organisaatio, johon nykyinen käyttäjä kuuluu.
Ennen kuin käytät getOrganization
tai muita organisaation ominaisuuksia, varmista, ettäurn:logto:scope:organizations
-scope ja urn:logto:resource:organization
-resource on lisätty Logto Configure laissez-faire-asetukseen. Koska ilmoitimme nämä aikaisemmin, emme toista niitä.
Organisaatiosivullamme käytämme accompendation-tokenia saadaksemme asiatisen lukemaan asiakirjat organisaation sisällä.
Toteutuksessa on kaksi tärkeää havaintoa:
- Jos
organisatioId
, joka on annettugetOrganizationToken
-metodille, ei ole nykyisen käyttäjän organisaatio-id, tämä metodi ei pysty saamaan tunnusta, jolloin varmistetaan, että käyttäjät pääsevät käsiksi vain omiin organisaatioihinsa. - Kun pyydetään organisaatiosresursseja, käytämme organisaatiotokenia sen sijaan, että pääsytunnuksella, koska organisaatiosresurssien pääsyn rajoittaminen mieluummin organisaation kuin käyttäjän luvalla (ymmärrät tämän paremmin, kun toteutat seuraavan
GET /documents
API:n).
Seuraavaksi olemme "GET /documents" API takapalvelumme. Samoin kuin API-resurssi suojelemaan "POST /organizations" API:tä, käytämme organisaatiokohtaisia resurssin ilmaisimia suojaamaan "GET /documents" API:tä.
Luo ensin "requireOrganizationAccess" väliohjelmisto suojaamaan Organisaation resursseja.Seuraavan kerran, olemme myös toteuttaneet käyttäjien oikeuksien tarkistuksen käyttöoikeuksien hallinnassa, joten varmistamme käyttäjän oikeuksia etukäteen: Frontend-sovelluksen Logto-konfiguraatiossa, julistamme organisiin, jotka pyytävät tarvittavia oikeuksia ilmoituksessa. Lisää "read:documents" ja "create:documents" scopes-laajennukseen.
Kuten ennenkin, kirjaudu ulos nykyiseltä käyttäjältä ja nykiä uudelleen, saadaksesi tämän asetuksen voimaan.
Takapalvelimen requireOrganizationAccess
middleware:ssä, lisää käyttäjän oikeuksien tarkistus samalla, kun tarkistetaan käyttäjän oikeuksia.
Tässä tapauksessa olemme toteuttanut käyttöoikeuksien hallinnan käyttäjän käyttöoikeuksista tarkamuksilla.
Etupostiluvun koodissa voit hakea käyttäjän käyttöoikeustiedot purkamalla organisaatiotoken tai kutsumalla Logton getOrganizationTokenClaims
-metodilla. Then, työnsiäsi eri elementtejä sivussa olevien käyttöoikeuksien perusteella, tarkista lähetyksestä.
Lisää monivuokrajärjestelmämme lisiä ominaisuuksia
Tähän asti olemme toteuttaneet peruskäyttäjän ja organisaatiotoimintojen monivuokrajärjestelmälle SaaS-systeemissä! Mutta olemme yhä käsittelemättä joitakin ominaisuuksia, kuten kirjautumissivujen mukauttaminen kullekin organisaatiolle, tiettyjen domen e-postien automaattinen lisäys tietyille organisaatioille ja yritystason yhtenäisen kirjautumisensyyttämisen toiminnallisuuden integrointi.
Nämä ovat kaikki plug-and-play ominaisuuksia, ja voit löytää lisätietoja näistä ominaisuuksista Logto-dokumentaatiosta:
Ominaisuudet | Dokumenttilinkki |
---|---|
Yrityksen SSO-yhteys | https://docs.logto.io/end-user-flows/enterprise-sso |
Just-in-Time (JIT) Provisioning | https://docs.logto.io/organizations/just-in-time-provisioning |
Organisaatiotason brändäys | https://docs.logto.io/customization/match-your-brand#organization-specific-branding |
Organisaatiotason monivaiheinen todennus (MFA) | https://docs.logto.io/organizations/organization-management#require-mfa-for-organization-members |
Organisaatiotason hallinta: | https://docs.logto.io/end-user-flows/organization-experience/organization-management |
Tiivistelmä
Muista kuinka ylivoimaisilta asiat tuntuivat alussa? Käyttäjitä, organisaatiota, oikeuksia, yritystoiminnallisuudet... se näytti olevan loputon vuori kiivettävänä.
Mutta katso mitä olemme saavuttaneet:
- Täydellinen todennusjärjestelmä useilla kirjautumismenetelmillä ja MFA-tuella
- Monipuolinen organisaatiojärjestelmä, joka tukee useita jäsenyyksiä
- Organisaatioissa roolipohjainen pääsynvalvonta
Ja parasta? Emme joutuneet keksimään pyörää uudelleen. Käyttämällä nykyaikaisia työkaluja kuten Logto, muunsimme kehitysviikot tunneiksi.
Tämän tutorin täydellinen lähdekoodi on saatavilla osoitteessa: Multi-tenant SaaS Sample.
Tämä on modernin kehityksen voimaa vuonna 2025 - voimme keskittyä ainutlaatuisten tuoteominaisuuksien rakentamiseen sen sijaan, että taistelisimme infrastruktuurin kanssa. Nyt on sinun vuorosi rakentaa jotain mahtavaa! Tutustu kaikkiin Logton ominaisuuksiin, Logto Cloudista Logto OSS:ään, Logto-verkkosivustolla (https://logto.io/) tai kirjaudu mukaan Logto cloud tänään.