Tokensikkerhed (access/refresh)
Fordyb Dem i bedste praksis for sikker lagring, transmission og udløb af access- og refresh tokens.
Tokensikkerhed (access/refresh) er en gratis OAuth2 og OpenID Connect i dybden-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i OAuth2 og OpenID Connect i dybden, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. OAuth2 og OpenID Connect i dybden-kurset indeholder 4 lektioner i alt.
Hvorfor tokensikkerhed er vigtig
Velkommen til tokensikkerhed! I denne lektion går vi i dybden med beskyttelse af de vigtige komponenter i OAuth2 og OpenID Connect: adgangstokens og fornyelsestokens.
Disse tokens fungerer som digitale nøgler. Hvis de falder i de forkerte hænder, kan der opstå uautoriseret adgang til dine brugeres data eller din applikations ressourcer. Det er altafgørende at sikre dem.
Forståelse af adgangstokens
Adgangstokens er loginoplysninger, der giver en klientapplikation tilladelse til at få adgang til bestemte ressourcer på brugerens vegne. Tænk på dem som et midlertidigt adgangskort.
- De har en kort levetid (minutter til timer).
- De bruges direkte til at autorisere API-anmodninger.
- Hvis de kompromitteres, er skaden begrænset på grund af deres korte udløbstid.
Forståelse af fornyelsestokens
Fornyelsestokens bruges til at hente nye adgangstokens, efter at det aktuelle token er udløbet, uden at brugeren skal autentificeres igen. De fungerer som en hovednøgle.
- De har en meget længere levetid (dage, uger eller endda måneder).
- De er meget følsomme, fordi et kompromitteret token kan give vedvarende adgang.
- De bør opbevares med det højest mulige sikkerhedsniveau.
Sikker overførsel: HTTPS/TLS
Den mest grundlæggende regel for tokensikkerhed er at altid overføre tokens via HTTPS (TLS). Det krypterer kommunikationskanalen mellem klienten og serveren.
Uden HTTPS kan tokens, der sendes over et usikret netværk (f.eks. offentligt Wi-Fi), nemt opsnappes af angribere, hvilket kan føre til øjeblikkelig kompromittering.
Sikker lagring af adgangstokens
Adgangstokens har en kort levetid og kræver derfor omhyggelig lagring på klientsiden:
- Webapplikationer: Gem dem i hukommelsen (JavaScript-variabler) eller i sikre httpOnly-cookies. Undgå
localStorageellersessionStoragepå grund af XSS-sårbarhed. - Mobilapplikationer: Brug platformspecifik sikker lagring som iOS Keychain eller Android Keystore.
Simulering af tokenudløb
Adgangstokens er designet til at udløbe. Dette kodestykke viser en konceptuel måde at kontrollere, om et token, repræsenteret ved tidspunktet for udstedelse og udløb, stadig er gyldigt.
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 af opdateringstokens
Opdateringstokens er de vigtigste at beskytte på grund af deres lange levetid. Lagringen af dem skal derfor være endnu mere stringent:
- Webapplikationer: Brug udelukkende httpOnly-, secure-cookies. Gem dem aldrig i lagring, som kan tilgås fra JavaScript.
- Mobilapplikationer: Brug hardwarebaseret sikker lagring (f.eks. Secure Enclave på iOS og TEE på Android), hvis det er tilgængeligt.
Rotation af opdateringstokens (RTR)
Rotation af opdateringstokens (RTR) er en vigtig sikkerhedsforbedring. Hver gang en klient bruger et opdateringstoken til at hente et nyt adgangstoken, bør autorisationsserveren udstede et nyt opdateringstoken og ugyldiggøre det gamle.
Hvis et gammelt opdateringstoken bliver stjålet og brugt, opdager den legitime klient det, fordi dens aktuelle opdateringstoken ikke længere virker. Det signalerer et muligt sikkerhedsbrud.
Strategier til tilbagekaldelse af tokens
Tokens bør ikke kun udløbe; de bør også kunne tilbagekaldes. Autorisationsserveren skal tilbyde mekanismer til at ugyldiggøre tokens før tid.
- Bruger logger ud: Alle tilknyttede adgangs- og opdateringstokens bør tilbagekaldes.
- Ændring af adgangskode: Tilbagekald alle aktive tokens for at tvinge brugeren til at godkende igen.
- Misstænkelig aktivitet: Hvis der er mistanke om, at et token er blevet kompromitteret, bør det straks tilbagekaldes.
Håndtering af tokenlevetider
Det er vigtigt at finde balancen mellem sikkerhed og brugeroplevelse:
- Adgangstokens: Hold deres levetid kort (f.eks. 5-15 minutter). Det begrænser det tidsrum, hvor angribere kan udnytte et kompromitteret token.
- Opdateringstokens: Kan have længere levetid (f.eks. 7-30 dage), men skal kunne tilbagekaldes og bør helst beskyttes med RTR.
Kontrol af tokensikkerhed
Hvilke af følgende er anbefalede bedste praksisser til sikring af OAuth2/OIDC-tokens?
Opsummering: Sikkerhed for tokens
Du har lært de vigtigste metoder til at sikre adgangs- og opdateringstokens!
- HTTPS/TLS er ufravigeligt ved overførsel.
- Adgangstokens kræver sikker lagring med kort levetid (hukommelse, httpOnly-cookies).
- Opdateringstokens kræver det højeste sikkerhedsniveau (httpOnly-, secure-cookies og hardwarebaseret lagring) og bør bruge rotation af opdateringstokens.
- Implementér effektive tilbagekaldelsesstrategier, og håndtér tokenlevetider med omtanke.
Lær OAuth2 og OpenID Connect i dybden med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 12
- Lektioner
- 48
Ofte stillede spørgsmål
Er lektionen “Tokensikkerhed (access/refresh)” gratis?
Ja — alle 3 lektioner i læringssporet OAuth2 og OpenID Connect i dybden, inklusive “Tokensikkerhed (access/refresh)”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. OAuth2 og OpenID Connect i dybden-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Tokensikkerhed (access/refresh)”?
Fordyb Dem i bedste praksis for sikker lagring, transmission og udløb af access- og refresh tokens. Du øver dig i OAuth2 og OpenID Connect i dybden med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på OAuth2 og OpenID Connect i dybden?
Der kræves ingen tidligere erfaring. OAuth2 og OpenID Connect i dybden på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.
Hvor lang tid tager lektionen “Tokensikkerhed (access/refresh)”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne OAuth2 og OpenID Connect i dybden-lektion?
Ja. Alle OAuth2 og OpenID Connect i dybden-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Tokensikkerhed (access/refresh)
- State-parameteren og CSRF
- Bedste praksis for grant-typer
- Sikring af redirect-URI'er