OAuth2 og OpenID Connect i dybden · leksjon

Tokensikkerhet (access/refresh)

Utforsk anbefalte fremgangsmåter for sikker lagring, overføring og utløping av access tokens og refresh tokens.

Leksjon 1 av 412 trinn

Tokensikkerhet (access/refresh) er en gratis leksjon i OAuth2 og OpenID Connect i dybden på CoddyKit. Dette er leksjon 1 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i OAuth2 og OpenID Connect i dybden, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i OAuth2 og OpenID Connect i dybden inneholder totalt 4 leksjoner.

Hvorfor tokensikkerhet er viktig

Velkommen til tokensikkerhet! I denne leksjonen skal vi se nærmere på hvordan du beskytter de viktige delene av OAuth2 og OpenID Connect: tilgangstokener og fornyelsestokener.

Disse tokenene er som digitale nøkler. Hvis de havner i feil hender, kan uvedkommende få tilgang til brukernes data eller applikasjonens ressurser. Det er avgjørende å sikre dem.

Forstå tilgangstokener

Tilgangstokener er påloggingsopplysninger som gir en klientapplikasjon tillatelse til å få tilgang til bestemte ressurser på vegne av brukeren. Tenk på dem som et midlertidig adgangskort.

  • De har kort levetid, fra minutter til timer.
  • De brukes direkte til å autorisere API-forespørsler.
  • Hvis de blir kompromittert, er skaden begrenset på grunn av den korte utløpstiden.

Forstå fornyelsestokener

Fornelsestokener brukes til å hente nye tilgangstokener etter at det nåværende tokenet utløper, uten at brukeren må autentiseres på nytt. De fungerer som en hovednøkkel.

  • De har mye lengre levetid, fra dager og uker til måneder.
  • De er svært sensitive fordi et kompromittert token kan gi kontinuerlig tilgang.
  • De bør lagres med høyest mulig sikkerhetsnivå.

Sikker overføring: HTTPS/TLS

Den mest grunnleggende regelen for tokensikkerhet er å alltid overføre tokens over HTTPS (TLS). Dette krypterer kommunikasjonskanalen mellom klienten og serveren.

Uten HTTPS kan tokens som sendes over et usikret nettverk (for eksempel offentlig Wi-Fi), enkelt fanges opp av angripere, noe som kan føre til umiddelbart sikkerhetsbrudd.

Sikker lagring av access tokens

Access tokens har kort levetid og krever derfor nøye lagring på klientsiden:

  • Webapplikasjoner: Lagre dem i minnet (JavaScript-variabler) eller i sikre httpOnly-cookies. Unngå localStorage eller sessionStorage på grunn av XSS-sårbarhet.
  • Mobilapplikasjoner: Bruk plattformspesifikk sikker lagring, for eksempel iOS Keychain eller Android Keystore.

Simulering av token-utløp

Access tokens er utformet for å utløpe. Dette kodeeksempelet viser en konseptuell måte å kontrollere om et token, representert ved utstedelses- og utløpstidspunktet, fortsatt er gyldig.

public class Main {
  public static void main(String[] args) {
    long issuedAtMillis = System.currentTimeMillis() - (5 * 60 * 1000); // Token issued 5 minutes ago
    long expiresInMillis = 10 * 60 * 1000; // Token expires in 10 minutes from issue
    long expiresAtMillis = issuedAtMillis + expiresInMillis;

    System.out.println("Token issued 5 minutes ago.");
    System.out.println("Expires 10 minutes from issue.");

    if (System.currentTimeMillis() > expiresAtMillis) {
      System.out.println("Status: Token EXPIRED.");
    } else {
      System.out.println("Status: Token ACTIVE.");
    }
  }
}

Sikring av refresh tokens

Refresh tokens er de viktigste å beskytte på grunn av den lange levetiden. Lagringen av dem må derfor være enda strengere:

  • Webapplikasjoner: Bruk utelukkende httpOnly, sikre cookies. Lagre dem aldri i lagring som er tilgjengelig fra JavaScript.
  • Mobilapplikasjoner: Bruk sikker maskinvarestøttet lagring (for eksempel Secure Enclave på iOS og TEE på Android) når dette er tilgjengelig.

Rotering av refresh tokens (RTR)

Rotering av refresh tokens (RTR) er en viktig sikkerhetsforbedring. Hver gang en klient bruker et refresh token for å hente et nytt access token, bør autorisasjonsserveren utstede et nytt refresh token og ugyldiggjøre det gamle.

Hvis et gammelt refresh token blir stjålet og brukt, vil den legitime klienten oppdage det fordi det gjeldende refresh tokenet ikke lenger fungerer. Dette signaliserer et mulig sikkerhetsbrudd.

Strategier for tilbakekalling av tokens

Tokens bør ikke bare utløpe; de bør også kunne tilbakekalles. Autorisasjonsserveren må tilby mekanismer for å ugyldiggjøre tokens før de utløper.

  • Bruker logger ut: Alle tilknyttede access tokens og refresh tokens bør tilbakekalles.
  • Passordendring: Tilbakekall alle aktive tokens for å tvinge frem ny autentisering.
  • Mistenkelig aktivitet: Hvis det er mistanke om at et token er kompromittert, bør det tilbakekalles umiddelbart.

Håndtering av token-levetid

Det er viktig å finne en god balanse mellom sikkerhet og brukeropplevelse:

  • Access tokens: Hold levetiden kort (for eksempel 5–15 minutter). Dette begrenser tidsrommet angripere kan utnytte hvis et token blir kompromittert.
  • Refresh tokens: Kan ha lengre levetid (for eksempel 7–30 dager), men må kunne tilbakekalles og bør helst beskyttes med RTR.

Kontroll av tokensikkerhet

Hvilke av følgende regnes som anbefalte fremgangsmåter for å sikre OAuth2/OIDC-tokens?

Oppsummering: Sikre tokens

Du har lært de viktigste fremgangsmåtene for å sikre access tokens og refresh tokens!

  • HTTPS/TLS er et ufravikelig krav ved overføring.
  • Access tokens trenger sikker lagring med kort levetid (i minnet eller i httpOnly-cookies).
  • Refresh tokens krever det høyeste sikkerhetsnivået (httpOnly, sikre cookies og maskinvarestøttet lagring) og bør bruke rotasjon av refresh tokens.
  • Implementer effektive strategier for tilbakekalling, og håndter token-levetid på en gjennomtenkt måte.
Gratis å komme i gang

Lær deg OAuth2 og OpenID Connect i dybden med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
12
Leksjoner
48

Ofte stilte spørsmål

Er leksjonen «Tokensikkerhet (access/refresh)» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien OAuth2 og OpenID Connect i dybden, inkludert «Tokensikkerhet (access/refresh)», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i OAuth2 og OpenID Connect i dybden inneholder totalt 4 leksjoner.

Hva lærer jeg i «Tokensikkerhet (access/refresh)»?

Utforsk anbefalte fremgangsmåter for sikker lagring, overføring og utløping av access tokens og refresh tokens. Du øver på OAuth2 og OpenID Connect i dybden med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med OAuth2 og OpenID Connect i dybden?

Ingen tidligere erfaring er nødvendig. OAuth2 og OpenID Connect i dybden på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.

Hvor lang tid tar leksjonen «Tokensikkerhet (access/refresh)»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne OAuth2 og OpenID Connect i dybden-leksjonen?

Ja. Alle OAuth2 og OpenID Connect i dybden-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Tokensikkerhet (access/refresh)
  2. State-parameteren og CSRF
  3. Beste praksis for grant-typer
  4. Sikring av omdirigerings-URI-er
← Tilbake til OAuth2 og OpenID Connect i dybden