Hop til indhold
Sikkerhed

OAuth

Open Authorization

OAuth er en åben standardprotokol til autorisation, der gør det muligt for en applikation at få adgang til udvalgte data eller funktioner hos en anden tjeneste, uden at brugeren skal dele sin adgangskode med applikationen. Navnet står for Open Authorization, og protokollen bruges til at give en tredjepartsapp begrænset og kontrolleret adgang på vegne af en bruger. OAuth handler om autorisation – altså hvad en app må gøre – og skal ikke forveksles med autentificering, som i stedet bekræfter hvem brugeren er.

Et velkendt eksempel er knappen “Log ind med Google” eller “Forbind med Facebook”, som mange websites og apps tilbyder. Når en bruger klikker på en sådan knap og godkender adgangen, udsteder tjenesten et adgangstoken til den ansøgende app. Appen kan derefter bruge dette token til at hente bestemte oplysninger, for eksempel navn og e-mailadresse, uden at appen på noget tidspunkt ser brugerens kodeord til Google eller Facebook.

Sådan fungerer OAuth i praksis

OAuth 2.0 arbejder med fire roller, der tilsammen styrer adgangen til en beskyttet ressource. Ressourceejeren er typisk brugeren selv, mens klienten er den applikation, der beder om adgang. Autorisationsserveren står for at godkende brugeren og udstede adgangstokens, mens ressourceserveren er der, hvor de beskyttede data eller funktioner faktisk ligger.

I praksis foregår det ved, at brugeren sendes videre til autorisationsserverens login- og samtykkeside, godkender hvilken adgang appen må få, og derefter sendes tilbage til appen med en autorisationskode. Appen udveksler koden med et adgangstoken, som herefter bruges til at kalde den beskyttede API inden for de rettigheder (såkaldte scopes), brugeren har godkendt. Adgangen kan afgrænses snævert, så en app for eksempel kun må læse kalenderaftaler og ikke slette dem.

Hvad bruges OAuth til

OAuth bruges typisk, når en app eller tjeneste skal have adgang til data eller funktioner i en anden tjeneste uden at overtage brugerens fulde konto. Det gælder blandt andet social login, hvor en ny bruger kan oprette sig med en eksisterende konto i stedet for endnu et brugernavn og kodeord, og det gælder integrationer som en budget-app, der kobles til en bankkonto, eller en kalenderapp, der får adgang til aftaler i en anden kalendertjeneste.

Mønsteret bruges også i nyere sammenhænge, hvor kunstig intelligens skal koble sig på eksterne data og værktøjer. Når AI-assistenter som egne Custom GPT’er udstyres med handlinger (actions), der skal tilgå tredjepartstjenester, sker godkendelsen ofte via OAuth, så AI-løsningen kun får den adgang, brugeren udtrykkeligt har givet tilladelse til. Nyere protokoller som Model Context Protocol (MCP), der skal give AI-modeller struktureret adgang til data og værktøjer, bygger i vid udstrækning videre på de samme principper om afgrænset og godkendt adgang, som OAuth oprindelig blev udviklet til.

Hvem bruger OAuth

OAuth anvendes af store teknologivirksomheder som Google, Microsoft og Facebook, der stiller autorisationsservere til rådighed, så andre apps kan koble sig på deres tjenester. Samtidig bruges protokollen af udviklere, startups og virksomheders it-afdelinger, der enten integrerer med disse platforme eller bygger deres egne API’er og ønsker en standardiseret måde at styre adgang på. I virksomhedssammenhænge indgår OAuth ofte som en del af en bredere identitetsløsning, der styrer, hvilke medarbejdere og systemer der må tilgå hvilke ressourcer.

OAuth over for autentificering og OpenID Connect

En almindelig misforståelse er, at OAuth i sig selv logger brugeren ind. OAuth besvarer spørgsmålet om, hvorvidt en given app må tilgå en bestemt ressource, men fortæller ikke i sig selv, hvem brugeren er. Den opgave løses af OpenID Connect (OIDC), som er et identitetslag bygget oven på OAuth 2.0. Når en tjeneste tilbyder “Log ind med Google”, er det derfor typisk OIDC, der håndterer selve login-bekræftelsen, mens OAuth styrer den efterfølgende adgang til data.

OAuth 1.0 og OAuth 2.0

Den første udgave, OAuth 1.0, blev udviklet til websites og har i dag begrænset udbredelse. OAuth 2.0 er en gennemgribende nyudvikling snarere end en simpel opdatering og er bygget til at fungere på tværs af websites, mobilapps og API’er. De to versioner er ikke indbyrdes kompatible, og langt de fleste nye implementeringer bygger i dag på OAuth 2.0.

Eksempel
Når en bruger klikker "Log ind med Google" på en ny app og godkender adgangen, udsteder Google et adgangstoken til appen, så den kan hente navn og e-mail uden nogensinde at se brugerens Google-kodeord.
Ofte stillede spørgsmål
Hvad står OAuth for?
OAuth står for Open Authorization og er en åben standardprotokol til autorisation mellem applikationer og tjenester.
Er OAuth det samme som login?
Nej. OAuth styrer, om en app må tilgå bestemte data eller funktioner, mens selve bekræftelsen af brugerens identitet typisk håndteres af OpenID Connect (OIDC), som bygger oven på OAuth.
Hvad er forskellen på OAuth 1.0 og OAuth 2.0?
OAuth 1.0 blev oprindeligt udviklet til websites, mens OAuth 2.0 er en gennemgribende nyudvikling, der understøtter websites, mobilapps og API'er. De to versioner er ikke indbyrdes kompatible.
Hvad er et adgangstoken i OAuth?
Et adgangstoken er et datastykke, som en autorisationsserver udsteder til en app efter godkendelse, og som appen bruger til at tilgå bestemte, afgrænsede data eller funktioner hos ressourceserveren.
Hvem administrerer OAuth-standarden?
OAuth 2.0 vedligeholdes gennem standardiseringsorganet IETF (Internet Engineering Task Force) og anvendes af blandt andre Google, Microsoft og Facebook.
Vil du se, hvordan denne form for autorisation i praksis bruges til at give egne GPT'er sikker adgang til eksterne tjenester?
Custom GPT (Egne GPT'er i ChatGPT) →