Et token er en liten datastreng (en slags digital «billett») som brukes til å bevise hvem en bruker eller tjeneste er, for eksempel etter innlogging i en app eller en nettjeneste. Når brukeren har logget inn, får klienten (for eksempel en nettleser eller mobilapp) et token som den sender med ved hver forespørsel, slik at systemet vet at det fortsatt er samme, godkjente bruker.
Et vanlig eksempel er JWT (JSON Web Token), som er et tokenformat der informasjon om brukeren – for eksempel bruker‑ID og hvilke rettigheter vedkommende har – ligger inne i selve tokenet, signert av serveren. Når serveren mottar tokenet, kan den kontrollere signaturen og se om tokenet er ekte og ikke er blitt manipulert.
Token vs. session cookie – og hva er tilstandsfull/tilstandsløs?
I en tilstandsfull (stateful) løsning husker serveren tilstanden din mellom hver forespørsel – for eksempel at du er innlogget og hvem du er. Denne informasjonen lagres på serveren, og nettleseren får bare en liten ID (session‑ID) i en session cookie som peker til den lagrede tilstanden.
I en tilstandsløs (stateless) løsning lagres ikke slik tilstand på serveren. I stedet inneholder tokenet selv den informasjonen som trengs for å vite hvem brukeren er. Hver forespørsel blir behandlet som «ny», men tokenet gjør at systemet likevel kan kjenne igjen brukeren.
Session cookies passer godt i mer tradisjonelle nettsider der alt går mot én og samme applikasjon på serversiden.
Token passer spesielt godt for API-er, mikrotjenester, mobilapper og Single Page Applications (SPA), der man trenger å kunne autentisere brukeren på tvers av flere tjenester og plattformer.