Mikä on Grant Type?

OAuth 2.0 -valtuutuskonteksti

OAuth 2.0 -valtuutuskehyksen puitteissa termi "Grant Type" viittaa menetelmään, jolla sovellus hankkii pääsytokenin. Grant type määrittää millaista valtuutusvuota sovellus käyttää käyttäjätietojen käyttämiseen.

Eri Grant Typet OAuth 2.0:ssa

OAuth 2.0 määrittää useita grant typejä, jotka on räätälöity erilaisille sovellusskenaarioille:

OAuth 2.0 LoadFocuksen avulla

  1. Authorization Code:
  • Parhaiten soveltuu: Sovelluksille, jotka voivat pitää client secretin turvassa, usein palvelinpuolen sovellukset.
  • Vuokulku: Käyttäjä ohjataan ensin todennuspalvelimelle. Onnistuneen todennuksen jälkeen hänet ohjataan takaisin sovellukseen authorization code -koodilla. Sovellus vaihtaa tämän koodin pääsytokeniin.
  1. Implicit:
  • Parhaiten soveltuu: Käyttäjäagenttikeskeisille sovelluksille, kuten yksisivuisille sovelluksille.
  • Vuokulku: Vastaa Authorization Code -vuota, mutta pääsytoken toimitetaan suoraan ilman välikoodia. Sitä pidetään vähemmän turvallisena kuin Authorization Code -menetelmää.
  1. Password (Resource Owner Password Credentials):
  • Parhaiten soveltuu: Erittäin luotetuille sovelluksille, usein saman organisaation omistamille kuin resurssipalvelin.
  • Vuokulku: Käyttäjät syöttävät käyttäjänimen ja salasanan suoraan sovellukseen. Sovellus käyttää näitä tunnistetietoja pääsytokenin hakemiseen. Tätä vuota yleensä ei suositella ellei asiakas ole erittäin luotettu.
  1. Client Credentials:
  • Parhaiten soveltuu: Palveluille tai sovelluksille, jotka tarvitsevat pääsyn omiin resursseihinsa, ei käyttäjän resursseihin.
  • Vuokulku: Sovellus todentautuu omilla tunnistetiedoillaan (kuten client ID ja secret) ja saa vastineeksi pääsytokenin.
  1. Device Code (laitteille ilman kattavia selainominaisuuksia):
  • Parhaiten soveltuu: Laitteille kuten älytelevisiot, pelikonsolit tai tulostimet.
  • Vuokulku: Laite kommunikoi valtuutuspalvelimen kanssa saadakseen laitekoodin ja käyttäjäkoodin. Käyttäjä syöttää käyttäjäkoodin toisella laitteella (esim. älypuhelimella). Varmennuksen jälkeen laite saa pääsytokenin.
  1. Refresh Token:
  • Käyttö: Tämä ei ole itsenäinen vuokulku vaan täydentää muita grant typejä. Kun pääsytoken vanhenee, refresh token mahdollistaa sovelluksen uuden tokenin hankkimisen ilman käyttäjän uudelleenkirjautumista.

Miksi Grant Typet ovat tärkeitä?

Grant typet tarjoavat joustavuutta erilaisille sovelluskonteksteille. Kukin niistä varmistaa, että pääsytokenin hankinta on mahdollisimman turvallista sovelluksen rajoitteet huomioiden. Grant typen valinta vaikuttaa asiakkaan, käyttäjän ja valtuutuspalvelimen välisiin vuorovaikutuksiin, mikä tekee oikean valinnan keskeiseksi sekä käytettävyyden että turvallisuuden kannalta.