Refresh tokens og scopes
Lær om refresh tokens, der gør det muligt at hente nye access tokens uden ny godkendelse, samt om scopes' rolle i definitionen af adgangstilladelser.
Refresh tokens og scopes er en gratis OAuth2 og OpenID Connect i dybden-lektion på CoddyKit. Dette er lektion 2 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.
Hold dine apps autoriserede
Forestil dig, at du bruger en app, der skal have adgang til dine onlinefotos. Den får tilladelse, men hvad nu hvis tilladelsen udløber efter bare en time?
Så skulle du logge ind igen og give tilladelse hver eneste gang! Det er ikke nogen særlig god brugeroplevelse, vel?
Adgangstokens korte levetid
Adgangstokens fungerer som midlertidige nøgler. De giver adgang til bestemte ressourcer, f.eks. dine fotos, i kort tid, ofte minutter eller timer.
Denne korte levetid er en vigtig sikkerhedsfunktion. Hvis et adgangstoken bliver stjålet, har en angriber kun et begrænset tidsrum til at bruge det, hvilket mindsker den mulige skade.
Introduktion til fornyelsestokens
For at løse problemet med konstante nye login bruger OAuth2 fornyelsestokens. Tænk på dem som en særlig nøgle med lang levetid.
En applikation bruger et fornyelsestoken til stille og roligt at anmode autorisationsserveren om et helt nyt adgangstoken, uden at du skal indtaste dine loginoplysninger igen.
Fornyelsesprocessen
Når dit adgangstoken udløber, sender klientapplikationen sit fornyelsestoken til autorisationsserveren. Det sker i baggrunden.
Hvis fornyelsestokenet er gyldigt, udsteder serveren et nyt adgangstoken og nogle gange også et nyt fornyelsestoken! Din app fortsætter med at fungere problemfrit.
public class RefreshExample {
public static void main(String[] args) {
System.out.println("1. Access token expires.");
System.out.println("2. Client sends refresh token.");
System.out.println("3. Authorization Server validates.");
System.out.println("4. New access token issued.");
System.out.println("5. App continues without re-login.");
}
}Beskyttelse af fornyelsestokens
Da fornyelsestokens kan give nye adgangstokens, er de meget kraftfulde og skal beskyttes omhyggeligt. De er mere følsomme end adgangstokens.
- Opbevar dem sikkert: Krypter dem, eller opbevar dem i sikre HTTP-only-cookies.
- Tilbagekald dem: Hvis de bliver kompromitteret, skal de straks tilbagekaldes af brugeren eller serveren.
- Begrænset brug: Nogle systemer udsteder nye fornyelsestokens ved hver fornyelse, så det gamle bliver ugyldigt.
Hvad er scopes?
Lad os nu tale om scopes. Scopes er enkle strenge, der definerer de præcise tilladelser, en applikation anmoder om fra dig.
De styrer, hvad en applikation må gøre med dine ressourcer, når den har et adgangstoken. Tænk på dem som mærkater for tilladelser, f.eks. 'read_email' eller 'write_photos'.
Sådan anvendes scopes
Når en app beder om din tilladelse under autorisationstrinnet, viser den udtrykkeligt de scopes, den har brug for.
Du, som ejer af ressourcen, beslutter derefter, hvilke af disse tilladelser du vil give. Du kan f.eks. give 'read_profile', men afvise 'write_posts'.
Praktiske eksempler på scopes
Scopes defineres typisk af ressourceserveren, og deres navne kan variere. Her er nogle almindelige eksempler, du kan møde:
openid: Anmodning om grundlæggende identitetsoplysninger (bruges ofte i OpenID Connect).profile: Adgang til dine grundlæggende profildata (navn, billede osv.).email: Adgang til din primære e-mailadresse.https://www.googleapis.com/auth/photos.readonly: Skrivebeskyttet adgang til Google Photos.
Scopes bevares ved fornyelse
Når en applikation bruger et fornyelsestoken til at hente et nyt adgangstoken, vil det nye adgangstoken normalt have de samme scopes, som oprindeligt blev givet.
Applikationen kan ikke på magisk vis få nye tilladelser under en fornyelse. Hvis den har brug for mere adgang, skal den anmode om tilladelserne igen gennem et komplet autorisationsforløb for brugeren.
Hurtigt tjek: Tokens og scopes
Hvilke af følgende udsagn om fornyelsestokens og scopes er SANDE?
Opsummering: Fornyelse og scopes
Vi har gennemgået to vigtige OAuth2-koncepter, der forbedrer både sikkerheden og brugeroplevelsen:
- Fornyelsestokens: Loginoplysninger med lang levetid, der bruges til at hente nye adgangstokens med kort levetid uden brugerinteraktion, hvilket forbedrer brugeroplevelsen.
- Scopes: Detaljerede tilladelser, der definerer, hvad en applikation er autoriseret til at gøre på brugerens vegne.
Hvis du forstår disse begreber, kan du bygge mere sikre og brugervenlige applikationer!
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 “Refresh tokens og scopes” gratis?
Ja — alle 3 lektioner i læringssporet OAuth2 og OpenID Connect i dybden, inklusive “Refresh tokens og scopes”, 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 “Refresh tokens og scopes”?
Lær om refresh tokens, der gør det muligt at hente nye access tokens uden ny godkendelse, samt om scopes' rolle i definitionen af adgangstilladelser. 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 2 af 4.
Hvor lang tid tager lektionen “Refresh tokens og scopes”?
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
- PKCE til public clients
- Refresh tokens og scopes
- Resource Owner Password Credentials
- Token Exchange (RFC 8693)