ID Token-struktur og signatur
Analysér ID Token (JWT)-headeren, payloaden og signaturen, og forstå, hvordan tokenet signeres, og hvilke oplysninger det indeholder.
ID Token-struktur og signatur 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.
Mød ID Token
I OpenID Connect (OIDC) er ID Token en vigtig oplysning. Det er et sikkerhedstoken, der indeholder claims om autentificeringen af en slutbruger udført af en Authorization Server.
Tænk på det som brugerens digitale ID-kort, der udstedes, efter at brugeren er logget ind.
ID Tokens er JWT'er
ID Tokens er altid formateret som JSON Web Tokens (JWT'er). En JWT er en kompakt, URL-sikker måde at repræsentere claims på, så de kan overføres mellem to parter.
Alle JWT'er har tre hoveddele, der er adskilt af punktummer:
- Header
- Payload
- Signatur
Headeren: Hvilken algoritme?
Den første del af et ID Token er headeren. Det er et JSON-objekt, der beskriver selve tokenet, f.eks. hvilken type token det er, og hvilken algoritme der bruges til at signere det.
alg: Den kryptografiske algoritme, der bruges til signering (f.eks. RS256 eller HS256).typ: Typen af token, som normalt er"JWT".
Headeren i praksis
Når du afkoder den base64url-kodede header, ser du et JSON-objekt som dette. Det fortæller dig, hvordan tokenet blev sikret.
{
"alg": "RS256",
"typ": "JWT",
"kid": "someKeyId"
}kid (nøgle-ID) hjælper med at finde den korrekte offentlige nøgle til verifikation.
Eksempel på afkodning af en header
Headeren er base64url-kodet. Sådan kan du afkode en JWT-headerstreng i Java. Det hjælper med at synliggøre dens indhold.
import java.util.Base64;
import java.nio.charset.StandardCharsets;
public class JwtDecoder {
public static void main(String[] args) {
String encodedHeader = "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InNvbWVLZXlJZCJ9";
byte[] decodedBytes = Base64.getUrlDecoder().decode(encodedHeader);
String decodedString = new String(decodedBytes, StandardCharsets.UTF_8);
System.out.println("Decoded Header:");
System.out.println(decodedString);
}
}Payload: Claims om dig
Den anden del er payloaden. Her gemmes de faktiske "claims" om brugeren og autentificeringshændelsen. Claims er udsagn om en entitet (typisk brugeren).
Almindelige claims, som du ofte ser, omfatter:
iss: Udsteder (hvem der udstedte tokenet).sub: Emne (entydig identifikator for brugeren).aud: Målgruppe (hvem tokenet er beregnet til).exp: Udløbstidspunkt (hvornår tokenet udløber).iat: Udstedelsestidspunkt (hvornår tokenet blev udstedt).
Payloaden i praksis
Ligesom headeren er payloaden også et base64url-kodet JSON-objekt. Den indeholder de identitetsoplysninger, du har brug for.
{
"iss": "https://example.com/auth",
"sub": "user123",
"aud": "myAppClientId",
"exp": 1678886400,
"iat": 1678882800,
"name": "Alice Wonderland"
}exp og iat er Unix-tidsstempler.
Signaturen: Sådan sikres tillid
Den tredje og sidste del er signaturen. Den er afgørende for sikkerheden! Den bruges til at kontrollere, at tokenet ikke er blevet ændret, og at det kommer fra en legitim udsteder.
Signaturen oprettes ved at tage den kodede header, den kodede payload og en hemmelig eller privat nøgle og køre dem gennem den kryptografiske algoritme, der er angivet i headeren.
Verifikation af signaturen
Når din applikation modtager et ID Token, bruger den den offentlige nøgle (leveret af udstederen) til at verificere signaturen. Den beregner signaturen igen ved hjælp af headeren, payloaden og den offentlige nøgle.
Hvis den genberegnede signatur stemmer overens med tokenets signatur, kan du have tillid til, at:
- Tokenet ikke er blevet ændret.
- Det blev udstedt af den forventede Authorization Server.
Hurtigt tjek af JWT
Du har lært, at ID Tokens er struktureret som JWT'er med tre forskellige dele. Hver del spiller en vigtig rolle i formidlingen og sikringen af brugerens identitetsoplysninger.
Opsummering: ID Tokenets opbygning
Godt klaret! Du forstår nu den grundlæggende struktur i et ID Token.
- Header: Beskriver tokenet og signeringsalgoritmen.
- Payload: Indeholder identitetsclaims om brugeren.
- Signatur: Sikrer tokenets integritet og ægthed.
Hver del er base64url-kodet og adskilt af punktummer, så de tilsammen danner en sikker og verificerbar digital identitet for brugeren.
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 “ID Token-struktur og signatur” gratis?
Ja — alle 3 lektioner i læringssporet OAuth2 og OpenID Connect i dybden, inklusive “ID Token-struktur og signatur”, 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 “ID Token-struktur og signatur”?
Analysér ID Token (JWT)-headeren, payloaden og signaturen, og forstå, hvordan tokenet signeres, og hvilke oplysninger det indeholder. 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 “ID Token-struktur og signatur”?
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
- ID Token-struktur og signatur
- JWS og JWK Sets
- Tilbagekaldelse og introspektion af tokens
- Validering af standardclaims i ID-tokens