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:
- Používateľ iniciuje autorizáciu cez klientsku aplikáciu.
- Klient presmeruje používateľa na server autorizácie.
- Používateľ sa autentizuje a dá súhlas.
- Server autorizácie vydá klientovi prístupový token.
- 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