Miten ottaa käyttöön vierastila (anonyymit käyttäjät) ja muuntaa Logto-käyttäjiksi
Opettele, miten toteutat vierastilan ja muutat vieraat Logto-käyttäjiksi kolmen vaiheen mallin avulla: hallitse vierassessioita, tunnistaudu OIDC:llä ja yhdistä vieraan tiedot käyttäjätiliin turvallisesti.
Monet sovellukset antavat käyttäjien kokeilla ominaisuuksia ennen rekisteröitymistä. Ajattele ostoskoreja, asiakirjaluonnoksia tai tallennettuja asetuksia. Käyttäjät odottavat, että tämä "vierastila" vain toimii.
Mutta jos käytät kirjautumiseen Logtoa (tai muuta OIDC-palvelua), saatat miettiä: miten käsittelen anonyymejä käyttäjiä?
Lyhyt vastaus: Logto huolehtii tunnistautumisesta, sovelluksesi vierassessioista. Ne ovat eri asioita.
Tässä artikkelissa näytän yksinkertaisen kolmen vaiheen mallin, jolla saat vierastilan toimimaan Logton kanssa. Opit:
Voisit odottaa, että Logtossa olisi "anonyymikiriutuminen". Jotain tyyliin: kutsu rajapintaa, saat tokenin, eikä käyttäjän tarvitse tehdä mitään.
Mutta näin OIDC ei toimi. Tässä syy:
OIDC perustuu käyttäjän suostumukseen. Sen idea on varmistaa "kuka tämä henkilö on?" Anonyymitoken tarkoittaisi "joku, mutta emme tiedä kuka" — mikä kumoaa koko tarkoituksen.
Kun käyttäjä klikkaa "Rekisteröidy" tai "Kirjaudu sisään", käynnistä tavallinen Logto OIDC -prosessi.
Vieras-ID pysyy cookiessa/tallennuksessa tämän ajan. Onnistuneen kirjautumisen jälkeen frontendillasi on:
Logton access token (käyttäjän identiteetti)
Vieras-ID aikaisemmasta (vieraan tiedot)
Vaihe 3: Yhdistä vieraan tiedot kirjautuneeseen käyttäjään turvallisesti#
Yhdistä tiedot näin: kutsu backendisi rajapintaa molemmilla tiedoilla:
Backendisi pitää tarkistaa molemmat ennen yhdistämistä:
Tarkista access token → poimi käyttäjän ID. Katso Access-tokenin validointi, miten tämä tehdään Logton kanssa.
Tarkista vieras-ID → varmista, että kyseessä on olemassa oleva vierassessio jonka backendisi on luonut. Tämä on kriittistä — älä ikinä luota vieras-ID:hen, joka tulee suoraan asiakkaalta ilman tarkistusta.
Vasta kun molemmat on tarkistettu:
Yhdistä vieraan tiedot käyttäjätiliin
Mittaa vierassessio päättyneeksi
Yhdistämisen logiikka riippuu liiketoiminnastasi. Ostoskori? Yhdistä tuotteet. Asiakirjaluonnokset? Siirrä omistajuus. Sinä päätät.
Näin suojaat yhdistämisrajapintasi token-tarkistuksella#
Yhdistämisrajapinta on herkkä toiminto. Muista nämä asiat:
Tarkista aina access token. Älä lue käyttäjän ID:tä pelkästään request bodysta. Pura ja validoi JWT. Näin teet sen Logtolla.
Tarkista aina vieras-ID. Varmista, että se on tietokannassasi ja ettei se ole vanhentunut. Jos annoit sen JWT:nä, tarkista allekirjoitus.
Vaadi tunnistautuminen. Yhdistämisrajapinnan tulee hylätä ilman kelvollista access tokenia tehdyt pyynnöt.
Aseta vierassessioille voimassaoloaika. Siivoa hylätyt sessiot esim. 30 päivän jälkeen (tai mikä sopii sovellukseesi).
Vierastila Logton kanssa noudattaa yksinkertaista mallia:
Vieras (sovelluksesi) → hallitse sessiot ennen käyttäjän rekisteröitymistä
Tunnistus (Logto) → hoitaa kirjautumisen ja rekisteröitymisen
Yhdistäminen (sovelluksesi) → liitä vieraan tiedot oikeaan käyttäjään
Tämä malli toimii minkä tahansa OIDC-palvelun kanssa, ei vain Logton. Tärkein oivallus: tunnistautuminen ja session seuraaminen ovat eri asioita. Anna jokaisen järjestelmän hoitaa sille tarkoitettu tehtävä.