• vierastila
  • anonyymit käyttäjät
  • käyttäjäkonversio

Kuinka toteuttaa vierastila (anonyymit käyttäjät) Logton avulla

Opi toteuttamaan vierastila Logton avulla käyttämällä kolmen vaiheen mallia: hallitse vierassessioita, tunnistaudu OIDC:n avulla ja yhdistä vierastiedot turvallisesti käyttäjätiliin.

Yijun
Yijun
Developer

Lopeta viikkojen tuhlaaminen käyttäjien tunnistautumiseen
Julkaise turvallisia sovelluksia nopeammin Logtolla. Integroi käyttäjien tunnistautuminen minuuteissa ja keskity ydintuotteeseesi.
Aloita
Product screenshot

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" toimii vain automaattisesti.

Mutta jos käytät Logtoa (tai mitä tahansa OIDC-palveluntarjoajaa) tunnistautumiseen, saatat miettiä: miten käsittelen näitä anonyymejä käyttäjiä?

Lyhyt vastaus: Logto hoitaa tunnistautumisen, sovelluksesi hoitaa vierassessiot. Ne ovat eri asioita.

Tässä artikkelissa näytän sinulle yksinkertaisen kolmen vaiheen mallin vierastilan toteuttamiseen Logtolla. Opit kuinka:

  • Hallitaan vierassessioita backendissäsi
  • Annetaan vieraiden rekisteröityä Logton avulla
  • Yhdistetään vierastiedot oikeaan käyttäjätiliin

Miksi Logtossa ei ole "anonyymi kirjautuminen" -toimintoa

Saattaisit odottaa, että Logtossa olisi "anonyymi kirjautuminen" -ominaisuus. Jotain sellaista kuin: kutsu APIa, saat tokenin, käyttäjän ei tarvitse tehdä mitään.

Mutta näin OIDC ei toimi. Tästä syystä:

OIDC perustuu käyttäjän suostumukseen. Koko ideana on varmistaa "kuka tämä henkilö on?" Anonyymi token tarkoittaisi "joku on, mutta emme tiedä kuka" — mikä vesittäisi koko tarkoituksen.

Ajattele näin:

  • Tunnistautuminen = henkilöllisyyden todistaminen ("kuka olet?")
  • Sessiotracking = tekojen muistaminen ("mitä teit?")

Vierastila liittyy sessioiden seurantaan, ei tunnistautumiseen. Siksi sitä ei kuulu authentication-järjestelmään.

Tämä on itse asiassa hyvä asia. Saat selkeän erottelun:

  • Logto hoitaa identiteetin (rekisteröinti, kirjautuminen, tokenit)
  • Sovelluksesi hoitaa vierassessiot (ennen identiteettiä)

Anna jokaisen järjestelmän tehdä sitä, mihin se on tarkoitettu.

Kolmen vaiheen ratkaisu

Tässä perusmalli: Vieras → Auth → Yhdistä

Vaihe 1: Käsittele vierassessiot ilman autentikaatiota

Backendsi luo ja hallinnoi vierassessioita. Logto ei ole vielä mukana.

Kun käyttäjä tekee merkityksellisen toiminnon (kuten lisää ostoskoriin), backendisi:

  1. Luo vieras-id:n (esim. UUID)
  2. Palauttaa sen cookiena tai JWT:nä
  3. Tallentaa käyttäjän toimet tähän vieras-id:hen

Pidä homma yksinkertaisena. Taulu guest_sessions kentillä guest_id, data ja created_at riittää.

Vaihe 2: Anna käyttäjän kirjautua Logton avulla

Kun käyttäjä klikkaa "Rekisteröidy" tai "Kirjaudu", käynnistä Logton tavallinen OIDC-virta.

Vieras-id säilyy cookiessa / local storagessa tämän ajan. Onnistuneen tunnistautumisen jälkeen frontendilläsi on:

  • Access token Logtolta (käyttäjän identiteetti)
  • Ennen kirjautumista luotu vieras-id (vierastiedot)

Vaihe 3: Yhdistä vierastiedot autentikoituun käyttäjään turvallisesti

Nyt yhdistät pisteet. Kutsu backendisi APIa molemmilla:

Backendsi tulee validioida molemmat tokenit ennen yhdistämistä:

  1. Varmista access token → poimi user ID. Katso tokenin validointi Logtolla.
  2. Varmista guest ID → varmista että se on oikea, sinun backendisi luoma vierassessio. Tämä on kriittistä — älä koskaan luota clientin antamaan vieras-id:hen tarkistamatta sitä.

Vasta kun molemmat kelpaavat:

  1. Yhdistä vierastiedot käyttäjätiliin
  2. Mittaa vierassessio käytetyksi

Yhdistämislogiikka riippuu bisneksestäsi. Ostoskori? Yhdistä tavarat. Asiakirjaluonnokset? Siirrä omistajuus. Sinä päätät.

Näin turvaat yhdistämispisteesi tokenin validoinnilla

Yhdistämis-päätepiste on herkkä toiminto. Muista muutama seikka:

  • Validoi aina access token. Älä koskaan pelkästään lue user ID:tä pyynnön bodysta. Pura ja varmista JWT. Näin teet sen Logtolla.
  • Validoi aina guest ID. Tarkista että se on kannassasi ja että se ei ole vanhentunut. Jos jaoit sen JWT:nä, varmista sen allekirjoitus.
  • Vaadi autentikointi. Yhdistämispisteen tulee hylätä pyynnöt ilman kelvollista access tokenia.
  • Aseta TTL vierassessioille. Poista hylätyt sessiot 30 päivän jälkeen (tai oman sovelluksesi mukaan).

Yhteenveto

Vierastila Logton kanssa noudattaa yksinkertaista kaavaa:

  1. Vieras (sovelluksesi) → hallitse sessiot ennen käyttäjän rekisteröitymistä
  2. Auth (Logto) → hoitaa rekisteröinnin ja sisäänkirjautumisen
  3. Yhdistä (sovelluksesi) → liitä vierastiedot oikeaan käyttäjään

Tämä malli toimii minkä tahansa OIDC-palveluntarjoajan kanssa, ei vain Logton. Tärkein havainto on: tunnistautuminen ja sessioseuranta ovat eri asioita. Anna jokaisen järjestelmän tehdä sitä, mihin se on rakennettu.