Autorizačný server vydáva access token, ktorý resource server akceptuje za definovaných podmienok. Klient môže konať za používateľa po delegovanej autorizácii alebo vo vlastnom mene v toku stroj-stroj.
OAuth definuje roly a protokolové toky namiesto jedného formátu tokenu alebo univerzálneho modelu oprávnení. Pre používateľsky orientované aplikácie súčasná bezpečnostná prax uprednostňuje tok autorizačného kódu s Proof Key for Code Exchange (PKCE). Implementácie musia viazať odpovede na správneho klienta a redirect URI, chrániť autorizačné kódy a refresh tokeny a zabezpečiť, že access tokeny sú akceptované len ich zamýšľanými resource servermi.
Kľúčové body
Základné rolyRozlišovať vlastníka prostriedku, klienta, autorizačný server a resource server; zdokumentovať, kedy jeden komponent vykonáva viac než jednu rolu.
Kontroly tokenovObmedziť publikum, rozsah, životnosť a ukladanie; validovať tokeny kompletne; rotovať alebo zrušovať refresh tokeny tam, kde je to vhodné; a vyhnúť sa odhaľovaniu bearer tokenov v URL alebo logoch.
Aktuálne voľby tokovDodržiavať OAuth bezpečnostnú best current practice: klienti by nemali používať implicit grant okrem prípadov, keď sú jeho špecifikované riziká injekcie a úniku zmiernené, a nesmú používať grant poverení vlastníka prostriedku.
Dôležité obmedzenieOAuth 2.0 nedefinuje autentifikáciu používateľa ani nedokazuje, kto access token používa. Platný token tiež nenahrádza autorizáciu na úrovni objektov, funkcií alebo transakcií vnútri resource servera.