Tokensikkerhet (access/refresh)
Utforsk anbefalte fremgangsmåter for sikker lagring, overføring og utløping av access tokens og refresh tokens.
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å
localStorageellersessionStoragepå 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.
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
- Tokensikkerhet (access/refresh)
- State-parameteren og CSRF
- Beste praksis for grant-typer
- Sikring av omdirigerings-URI-er