Sobes.tech
Junior — Middle

Môžete vysvetliť princíp fungovania protokolu OAuth a jeho hlavné vlastnosti?

sobes.tech AI

Odpoveď od AI

OAuth je protokol autorizácie, ktorý umožňuje tretím stranám získať obmedzený prístup k zdrojom používateľa bez odovzdania jeho hesla.

Hlavné vlastnosti OAuth:

  • Používa prístupové tokeny namiesto hesiel.
  • Umožňuje používateľovi kontrolovať, aké práva dostáva aplikácia.
  • Podporuje rôzne toky autorizácie (authorization code, implicit, client credentials atď.).

Princíp fungovania:

  1. Používateľ iniciuje autorizáciu cez klientsku aplikáciu.
  2. Klient presmeruje používateľa na server autorizácie.
  3. Používateľ sa autentizuje a dá súhlas.
  4. Server autorizácie vydá klientovi prístupový token.
  5. Klient používa token na prístup k chráneným zdrojom.

Príklad zjednodušeného toku s použitím authorization code:

// Pseudokód na získanie tokenu
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},
})
// Následne použite získaný token pre API požiadavky