Sobes.tech
Junior — Middle

Kunt u het werkingsprincipe van het OAuth-protocol en de belangrijkste kenmerken ervan uitleggen?

sobes.tech AI

Antwoord van AI

OAuth is een autorisatieprotocol waarmee derden beperkte toegang kunnen krijgen tot de bronnen van een gebruiker zonder zijn wachtwoord te delen.

Belangrijkste kenmerken van OAuth:

  • Gebruikt toegangstokens in plaats van wachtwoorden.
  • Laat de gebruiker controleren welke rechten de applicatie krijgt.
  • Ondersteunt verschillende autorisatiestromen (authorization code, implicit, client credentials, enz.).

Werking principe:

  1. De gebruiker initieert autorisatie via de clientapplicatie.
  2. De client leidt de gebruiker door naar de autorisatieserver.
  3. De gebruiker authenticatieert en geeft toestemming.
  4. De autorisatieserver geeft een toegangstoken uit aan de client.
  5. De client gebruikt het token om toegang te krijgen tot beveiligde bronnen.

Voorbeeld van een vereenvoudigde flow met gebruik van authorization code:

// Pseudo-code voor het verkrijgen van het token
resp, err := http.PostForm("https://auth.server.com/token", url.Values{
    "grant_type": {"authorization_code"},
    "code": {authCode},
    "redirect_uri": {redirectURI},
    "client_id": {clientID},
    "client_secret": {clientSecret},
})
// Gebruik vervolgens het verkregen token voor API-aanvragen