OAuth 2.0-autorisering

OAuth 2.0 er et autorisationsframework, der er blevet de facto-standarden for autorisering af adgang til beskyttede ressourcer. Det giver tredjepartsapplikationer mulighed for at få adgang til brugerdata uden at eksponere brugerens legitimationsoplysninger. I stedet for at dele adgangskoder leverer tjenester tokens.

Baggrund

Forestil dig, at du vil bruge en tredjepartsapplikation, der har brug for adgang til data fra din Google-konto. Du ville ikke give denne tredjepartsapp dit Google-brugernavn og din adgangskode, vel? Det er her, OAuth kommer ind i billedet. Det lader dig give denne applikation adgang til dine Google-data uden at dele dine Google-legitimationsoplysninger.

OAuth 2.0 med LoadFocus

Grundlæggende om OAuth 2.0

OAuth 2.0 fokuserer på klientudviklersimplicitet, mens det leverer specifikke autorisationsflows til webapplikationer, desktopapplikationer, mobiltelefoner og stueenheder.

  • Ressourceejer: Brugeren, der autoriserer en applikation til at tilgå sin konto.
  • Klient: Applikationen, der ønsker at tilgå brugerens konto.
  • Ressourceserver: Serveren, der hoster brugerkonti.
  • Autorisationsserver: Denne server verificerer brugerens identitet og udsteder derefter adgangstokens til applikationen.

OAuth 2.0 Flows

Der er flere "flows" eller "tildelingstyper" til forskellige typer applikationer:

  • Authorization Code (til apps, der kører på en webserver): Det mest almindelige flow, især til webapps.
  • Implicit (til apps, der kører i en browser): For brugeragentbaserede apps.
  • Resource Owner Password Credentials: Tillader applikationen at levere brugerens brugernavn og adgangskode direkte.
  • Client Credentials: Bruges, når klienten selv er ressourceejeren.

Tokens

I stedet for at bruge brugerens legitimationsoplysninger bruger OAuth 2.0 tokens:

  • Adgangstoken: Tillader applikationen at sende API-forespørgsler på vegne af brugeren. Det har kort levetid.
  • Refresh Token: Kan bruges til at opnå et nyt adgangstoken, hvis det originale er udløbet. Det har længere levetid end et adgangstoken.

Sikkerhed

OAuth 2.0 baserer sig på SSL/TLS for sikkerhed. Det sikrer datafortrolighed mellem klient, autorisationsserver og ressourceserver.

Konklusion

OAuth 2.0 er et kraftfuldt og fleksibelt framework, der gør det muligt for tredjepartsapplikationer at tilgå brugerdata uden at eksponere brugerlegitimationsoplysninger. Det er blevet et essentielt værktøj i det moderne web og giver brugere og udviklere et sikkert og effektivt middel til at tildele og administrere tilladelser på tværs af forskellige tjenester og applikationer.