Implicit Grant Type OAuth 2.0 protokole

Implicit Grant Type, taip pat zinomas kaip "token" metodas, buvo pirmiausia sukurtas kliento puses programoms, kur klientas negali saugiai issaugoti kliento slapto rakto. Tokios programos apima vieno puslapio programas (SPA) ar kitas narsykleje veikiancias programas. Uzviot gauti autorizacijos koda, kuri reikia apsikeisti i prieigos zymeni, programa gauna prieigos zymeni tiesiogiai.

Implicit Grant Type LoadFocus platformoje

Kaip veikia Implicit Grant Type?

  1. Peradresavimas:
  • Kliento programa peradresuoja vartotoja i OAuth 2.0 autorizacijos serverio autorizacijos galini taska. Sis peradresavimas paprastai apima uzklausos parametrus, tokius kaip client_id, response_type (nustatytas i "token" Implicit Grant atveju), redirect_uri (kur autorizacijos serveris peradresuos po prieigos suteikimo/atmetimo) ir scope (nurodantis prieigos lygi, kurio prasoma).
  1. Vartotojo autentifikacija:
  • Vartotojas prisijungia prie autorizacijos serverio (jei dar neprisijunges) ir perziuri kliento programos prieigos uzklausa.
  1. Prieigos zymens issiuntimas:
  • Jei vartotojas suteikia prieiga, autorizacijos serveris peradresuoja ji atgal i kliento programa per pateikta redirect_uri. Peradresavimo URI apima prieigos zymeni (ir jo galiojimo laika) tiesiogiai URL fragmento dalyje.
  1. Prieiga prie apsaugoto istekliaus:
  • Kliento programa isima prieigos zymeni is URL fragmento ir ji issaugoja (pvz., vietineje saugykloje ar sesijoje). Tada naudoja si zymeni uzklausoms i istekliu serveri (API) vartotojo vardu.

Kaip konfiguruoti Implicit Grant Type?

  1. Uzregistruokite savo programa:
  • Pradekite uzregistruodami savo programa pas OAuth 2.0 teikeja. Po sekmingos registracijos paprastai gausite client_id.
  1. Redirect URI nustatymas:
  • Registracijos metu pateikite redirect_uri. Autorizacijos serveris peradresuos vartotojus i si URI po ju sprendimo del prieigos suteikimo ar atmetimo. Isitikinkite, kad sis URI yra saugus (paprastai naudojant HTTPS) ir gali apdoroti zymens isemima is URL fragmento.
  1. Pradekite OAuth srauta:
  • Peradresuokite vartotojus i autorizacijos serverio autorizacijos galini taska su butinais parametrais. Naudokite bibliotekas ar SDK, tinkamus jusu programos kalbai ar sistemai.
  1. Isimkite ir issaugokite zymeni:
  • Grizes po peradresavimo, isimkite prieigos zymeni is URL fragmento. Issaugokite zymeni saugiai, apsvarstydami kliento puses saugojimo galimybes, tokias kaip Web Storage (localStorage arba sessionStorage) ar slapukai. Uztikrinkite, kad jis butu apsaugotas nuo tarpsvetaininio skriptu vykdymo (XSS) ataku.
  1. Naudokite zymeni:
  • Pridekite prieigos zymeni prie API uzklausu, siuniamu istekliu serveriui.
  1. Zymens galiojimo pabaigos apdorojimas:
  • Kadangi Implicit Grant paprastai neteikia atnaujinimo zymeniu, kai prieigos zymens baigiasi galiojimo laikas, gali tekti pakartoti OAuth srauta naujam zymenui gauti.

Aspektai:

  • Saugumas: Implicit Grant Type laikomas maziau saugiu nei Authorization Code Grant Type, ypac todel, kad prieigos zymuo matomas URL. Tai gali buti rizika aplinkose, kur URL gali buti registruojami ar pasiekiami treciu saliu.

  • Nera atnaujinimo zymens: paprastai Implicit Grant neteikia atnaujinimo zymeniu. Todel, kai prieigos zymens baigiasi galiojimas, gali tekti pakartoti visa srauta.

  • Neberekomenduojamas: del savo budiniu saugumo problemu, OAuth 2.0 saugumo geriausiu praktiku dokumentas rekomenduoja vengti Implicit Grant ir vietoj jo naudoti Authorization Code su PKCE (Proof Key for Code Exchange) viesiems klientams, tokiems kaip SPA.

Isvada:

Nors Implicit Grant Type siulo paprastesni srauta kliento puses programoms, jo saugumo problemos paskatino rekomendacijas jo nenaudoti siuolaikinese programose. Jei kuriate naujas programas, ypac SPA, apsvarstykite galimybe naudoti Authorization Code Grant su PKCE saugesniam poziuriui.