Denne side er til undervisning: du ser både hvordan en JWT er bygget, og hvordan man beviser at den er udstedt af den rigtige auth-server — uden at dele den hemmelige private nøgle med apps eller browsere.
En JWT er tre Base64URL-dele adskilt af punktum. De to første kan alle dekode (det er ikke kryptering — kun kodning). Den tredje del er signaturen: et matematisk bevis lavet med serverens private nøgle.
Vigtigt: At kunne læse payload betyder ikke at du stoler på den. Først efter signatur-check + issuer/audience/livstid er claims “officielle”.
Serveren signerer med privat nøgle. Enhver klient henter den matchende offentlige nøgle og verificerer.
Følg rækkefølgen når du bygger login i en app eller validerer Authorization: Bearer på et API.
kid?
Nøgler roteres nogle gange. JWKS kan indeholde flere nøgler. kid i JWT-headeren fortæller hvilken offentlig nøgle der passede til denne signatur.
iss og aud?iss (issuer): Hvem udstedte token? Du sammenligner med en forventet streng (fx konfiguration).aud (audience): Hvem er token beregnet til? Din app/API skal matche — ellers kunne token være til en anden klient.exp / nbf: Token må ikke være udløbet eller “ikke gyldig endnu”.login_method: Hvordan brugeren loggede ind ved dette flow (fx microsoft-work, password, discord) — nyttigt når en platform kun accepterer bestemte login-typer.
Nedenfor er den konkrete adresse der bruges sammen med shared-config.js (authBaseUrl).
Samme endpoint bruger Mercantec Auth til at udstille den offentlige nøgle der matcher den private signeringsnøgle.
(indlæses …)
—
email vises maskeret (**@domæne) — lokale dele skjules i demo.
—
Nedenfor: signatur tjekkes med biblioteket jose mod GET /.well-known/jwks.json — samme princip som i produktion.
Demo ved MAGS (underviser) — ikke Mercantecs officielle produkt. [email protected]