Sådan fungerer OAuth · Mindmaps
Sådan fungerer OAuth. Et redigerbart mindmap med farvede grene, underemner og forbindelser. Buede linjer viser sammenhænge; pile bruges, når retningen har betydning.
OAuth lader én applikation tilgå en anden tjenestes data på vegne af en bruger uden nogensinde at se brugerens adgangskode, ved at bytte samtykke til et kortlivet token.
Sådan fungerer OAuth · Mindmaps
The interactive MindMap canvas for this explanation — every lane, row and arrow above is a real QueryChart diagram you can open and edit.
Sådan læser du mindmappet
- Begynd ved emnet i midten, og følg en farvet gren til de tilhørende idéer.
- Buede linjer viser sammenhænge; pile bruges, når retningen har betydning.
User consent
Denne gren samler “User clicks “Sign in with provider””, “The consent screen is the step most real flows hide: the user chooses exactly which permissions the app may use, such as “read profile” but not “post”.”.
Redirect & code
Denne gren samler “The redirect carries the client id, the requested scopes and a redirect URI. The user never hands their password to the client application.”, “Authorization server returns an authorization code to the client”.
Token exchange
Denne gren samler “The code is short-lived and useless by itself. The exchange proves the client is who it claims to be by presenting its registered client secret.”, “Authorization server issues the access token”.
Resource access
Denne gren samler “Access tokens expire after a short window. Long-lived sessions use a separate refresh token that can mint new access tokens without asking the user again.”, “Resource server validates the token and returns the user's data”, “User sees their data inside the app”.
Forbindelser på tværs
Brugerens adgangskode gives kun til autorisationsserveren: klienten og ressourceserveren ser den aldrig.
Samtykket, altså de scopes, er selve tildelingen; adgangstokenet er den tildeling i maskinlæsbar form.
Autorisationskoden er kortlivet og ubrugelig uden klientens client secret: to faktorer beskytter vekslingen.
Adgangstokens udløber; refresh-tokens udsteder i stilhed nye uden endnu en samtykkeskærm.
Ressourceserverens eneste opgave er at validere tokenet, og det holder parterne løst koblet.
Key relationships and takeaways
- Brugerens adgangskode gives kun til autorisationsserveren: klienten og ressourceserveren ser den aldrig.
- Samtykket, altså de scopes, er selve tildelingen; adgangstokenet er den tildeling i maskinlæsbar form.
- Autorisationskoden er kortlivet og ubrugelig uden klientens client secret: to faktorer beskytter vekslingen.
- Adgangstokens udløber; refresh-tokens udsteder i stilhed nye uden endnu en samtykkeskærm.
- Ressourceserverens eneste opgave er at validere tokenet, og det holder parterne løst koblet.
When to use this visual
- At forklare et produktteam, hvorfor »Log ind med Google« er sikkert, og hvad samtykkeskærmen beder om.
- At vælge et OAuth-flow: autorisationskodeflowet her over for implicit flow eller client credentials i andre scenarier.
- At revidere, hvor loginoplysninger og tokens faktisk bevæger sig i jeres integration.
Sådan fungerer det
Tilpas emnet i midten
Giv emnet et navn, der passer til dit projekt eller din undervisning.
Udbyg grenene
Rediger idéerne, og tilføj eksempler eller noter.
Forbind beslægtede idéer
Tegn forbindelser på tværs af grene; brug kun pile, når retningen betyder noget.
Ofte stillede spørgsmål
Hvad er OAuth, og hvorfor findes det?
OAuth er en standard for delegering. Den lader en applikation tilgå en brugers data hos en anden tjeneste på brugerens vegne, uden at applikationen nogensinde ser brugerens adgangskode. Brugeren autentificerer sig én gang hos autorisationsserveren og godkender bestemte tilladelser (scopes); appen modtager et token, den kan bruge. Netop den adskillelse af ansvar er det, de fire banegrupper i diagrammet står for.
Hvad er forskellen på en autorisationskode og et adgangstoken?
En autorisationskode er en kortlivet mellemværdi, klienten modtager, efter brugeren har givet samtykke; i sig selv giver den ingen adgang. Klienten veksler koden, sammen med sin registrerede client secret, til et adgangstoken, som er den faktiske rettighed, der bruges til at kalde ressourceserveren. Det er den todelte veksling, der lader klienten bevise sin identitet ved token-endpointet.
Hvorfor giver brugeren ikke sin adgangskode til appen?
Fordi appen kun har brug for begrænset adgang, der kan trækkes tilbage: at læse en profil, ikke at eje en konto. Fik appen adgangskoden, ville den have fuld adgang for altid, og brugeren kunne ikke trække én app tilbage uden at skifte adgangskode alle steder. OAuth bytter en adgangskode til et afgrænset token med udløb, som brugeren kan trække tilbage uafhængigt.
Hvad er scopes?
Scopes er de konkrete tilladelser, brugeren giver, for eksempel »læs e-mail« eller »skriv til kalender«. De vises på samtykkeskærmen og bliver kodet ind i adgangstokenet. Ressourceserveren håndhæver dem, så et token med scope til at læse ikke kan skrive. Mindste privilegium er bygget ind i protokollen i stedet for at hvile på klientens gode opførsel.
Rediger dette mindmap i QueryChart
Åbn mindmappet på et redigerbart lærred. Flyt idéer, tilføj grene, og tegn forbindelser.