Saugumas

„OAuth“ prisijungimo valdymas

„OAuth“ prisijungimo valdymas

Svarbūs dalykai, kuriuos turite žinoti apie „OAuth“

OAuth yra tai, ką turi žinoti kiekvienas kūrėjas. Jei kuriate atskirą programą arba trečiosios šalies programą, kuri integruojama su kita HTTP paslauga, turite žinoti, kaip veikia „OAuth“, kad vartotojams suteiktų lengvai naudojamą ir gerai integruotą paslaugą.

Idėja yra leisti kliento programoms ribotą prieigą prie vartotojo informacijos, niekada nesidalijant vartotojo kredencialais ar slaptažodžiu. „OAuth“ sistema yra atsakinga už mainus, kurių reikia, kol programa gauna jūsų informaciją.

Tarkime, kad norite prisiregistruoti naudoti „Dev“.(tai yra puiki vieta kūrėjams keistis idėjomis) jie leidžia jums užsiregistruoti naudodami savo „GitHub“ paskyrą. Kaip tai vyksta? Kaip jie žinotų, kad jums priklauso „GitHub“ paskyra, prie kurios esate prisijungę?

Dar svarbiau, kaip jūs užtikrinate, kad Dev.to neperžengia savo ribų, kai kalbama apie jūsų informaciją, saugomą „GitHub“?

„OAuth“ dalyviai

Mes laikysimės „Atom“ redaktoriaus „GitHub“ papildinio pavyzdžio, kuris leidžia kūrėjams stumti kodą į „GitHub“ tiesiogiai naudojant „Atom“ sąsają. To pavyzdys yra tas, kad „GitHub“ neslepia detalių už scenos ir jūs matote, kas vyksta po gaubtu.

Prieš patekdami į OAutho darbo smulkmenas. Nustatykime etapą, atpažindami visus mainų dalyvius:

  1. Išteklių savininkas arba vartotojas: Šis vartotojas yra tas, kurio paskyros informaciją reikia pasiekti (skaityti ir (arba) rašyti), kad ji veiktų su programa.
  2. Klientas: Tai programa, kuri prašo jūsų leidimo pasiekti jūsų informaciją iš kitos paslaugos. Mūsų pavyzdyje „Atom“ redaktorius yra klientas.
  3. Ištekliai: Ištekliai yra jūsų tikroji informacija, sėdinti serveriuose tam tikroje atokioje vietoje. Tai galima pasiekti per API, jei klientui suteikiami atitinkami leidimai.
  4. Įgaliojimų serveris: Taip pat sąsaja su API. Šį serverį prižiūri paslaugų teikėjas (mūsų pavyzdyje „GitHub“). Tiek prieigos teisių serveris, tiek išteklių serveris yra vadinami API, nes juos valdo vienas subjektas, šiuo atveju - „GitHub“, ir kliento kūrėjui pateikiami kaip API.

„OAuth“ registracija

Procesas prasideda, kai kuriama kliento programa. Galite kreiptis į išteklių tiekėją ir užsiregistruoti jų kūrėjo portale arba svetainės API skiltyje. Taip pat turėsite pateikti atgalinio adreso URL, kur vartotojas būtų nukreiptas priėmus ar atmetus suteikti programai būtinus leidimus.

Pavyzdžiui, jei einate į „GitHub“ → „Nustatymai“ → „Kūrėjo nustatymai“ ir spustelėkite „Užregistruokite naują programą“. Tai suteiktų jums Kliento ID kurį galima viešai paskelbti ir a Kliento paslaptis kurią kūrėjų organizacija turi laikyti ... paslaptyje.

Kai kliento ID ir paslaptis bus pateikti jums, kūrėjui, jums turi saugokite juos, nes „Authorization“ serveris jų nebebus rodomas. Tas pats pasakytina ir apie visus kitus žetonus, kurie būtų išmesti (Daugiau apie žetonus vėliau).

„OAuth 2“ darbo eiga

Užregistravote savo paraišką. Jis buvo sukurtas ir išbandytas, o dabar vartotojai yra pasirengę jį naudoti. Naujam vartotojui registruojantis jūsų paslaugoje bus rodoma parinktis „Prisijunkite naudodami„ GitHub “. Tai yra pirmasis žingsnis.

1 veiksmas: įgaliojimo užklausa

Patvirtinimo užklausa yra ta dalis, kur atsidaro naujas langas (arba panašus raginimas) su išteklių tinklalapiu ir prašo vartotojų prisijungti. Jei jau esate prisijungę tame įrenginyje, šis veiksmas bus praleistas ir „GitHub“ paprasčiausiai paklaus, ar norite suteikti prieigą prie „Atom“ kliento programos. „Atom“ atveju tai yra daug skaidriau, nes jie prašo rankiniu būdu eiti į „GitHub“ svetainę ir suteikti jiems leidimą.

Apsilankę URL, jūsų paprašoma leidimo.

Atkreipkite dėmesį į URL, kuris rodo, kad tai yra saugus („HTTPS“) „GitHub“ tinklalapis.Inc. Dabar jūs, vartotojas, galite būti tikri, kad tiesiogiai bendraujate su „GitHub“. „Atom“ tiesiog laukia, visai ne savo keliu.

Skirtingai nuo „Atom“, dauguma kliento programų automatiškai įkelia prisijungimo ar leidimų puslapį. Nors tai yra labai patogu, jį taip pat galima netinkamai naudoti, jei kliento programa nusprendžia atidaryti sukčiavimo nuorodą. Norėdami to išvengti, visada turite patikrinti URL, į kurį esate nukreipti, ir įsitikinti, kad jis yra teisingas URL ir naudoja HTTPS protokolą.

2 žingsnis: gauti leidimą

Norėdami pranešti „Atom“ klientui, jums suteikiamas prieigos raktas (įgaliojimo suteikimas), kuris tada pateikiamas „Atom“ klientui.

Kai vartotojas tai padarys, vartotojo darbas bus atliktas. (Tiesą sakant, įprastas vartotojas net nežino apie keitimąsi autorizacijos suteikimu. „GitHub“ pavyzdys buvo pasirinktas siekiant parodyti, kad taip nutinka).

3 žingsnis: Prieigos prieigos rakto gavimas

Autorizacijos suteikimas vis dar nėra subjektas, suteikiantis klientui prieigą prie vartotojo informacijos. Tai gaunama naudojant tai, kas vadinama prieigos žetonu. Kurį kliento programą bandys gauti atlikdamas šį veiksmą.

Norėdami tai padaryti, klientas dabar turės suteikti prieigos teisę serveriui kartu su savo tapatybės įrodymu. Tapatybė patikrinama naudojant kliento ID ir kliento paslaptį, kurie kliento programai buvo suteikti anksčiau.

Tapatybės tikrinimas atliekamas siekiant užtikrinti, kad vartotojas nebūtų apgautas naudoti nenaudingą programą, kuri apsimeta teisėta programa. Pvz., Jei kas nors nusprendžia pavadinti savo vykdomąjį failą kaip „Atom“ tuo pačiu vardu, logotipu ir funkcijomis, vartotojas gali būti apgautas suteikti prieigą klientui, kuris gali netinkamai naudoti jūsų informaciją. Jie gali šnipinėti ar net veikti be jūsų sutikimo. Autorizacijos serveris užtikrina, kad klientas iš tikrųjų yra toks, koks atrodo jo vartotojams.

Patikrinus tapatybę ir priėmus įgaliojimą, autorizacijos serveris meta žetoną kliento programai. Pagalvokite apie prieigos raktą kaip apie vartotojo vardo ir slaptažodžio derinį, kurį galima suteikti išteklių serveriui, norint pasiekti konkretų apsaugotą šaltinį, kurį išteklių savininkas leido jums pasiekti.

Galiausiai, naudodama šį prieigos raktą, programa dabar gali pasiekti reikiamą vartotojo informaciją ir kitus išteklius iš serverio.

Atkreipkite dėmesį, kaip per visą šį keitimąsi tikrasis vartotojo vardas ir slaptažodis, kai niekada nebuvo bendrinami su klientu? Tai ir yra „OAuth“ grožis. Užuot suteikusi vartotojo vardą ir slaptažodžius, kurie suteiktų programai visą prieigą prie šaltinio, ji naudoja žetonus. Žetonas gali gauti tik ribotą prieigą prie šaltinio.

Leidimų atšaukimas

Tarkime, kad prarandate prieigą prie savo įrenginio, kuriame buvo autorizuota kliento programa. Galite anuliuoti „GitHub“ ir eiti į Nustatymai → Programos → Įgaliotos „OAuth“ programos, kad atšauktumėte įgaliojimo suteikimą ir prieigos raktą. Aš darysiu tą patį, nes pirmiau pateiktose ekrano kopijose leidimo suteikimas buvo viešai parodytas.

Dabar, kai iš paukščio skrydžio matote, kaip „OAuth 2“.Čia galite sužinoti daugiau apie įgaliojimų suteikimą ir kitą smulkesnę protokolo informaciją bei tai, kaip atliekami API skambučiai.

Kaip pakeisti kairįjį ir dešinįjį pelės mygtukus „Windows 10“ kompiuteryje
Gana įprasta, kad visi kompiuterio pelės įrenginiai yra ergonomiškai sukurti dešiniarankiams. Tačiau yra pelių prietaisų, specialiai sukurtų kairiaran...
Mėgdžiokite pelės paspaudimus, užveskite pelės žymeklį naudodami pelę „Clickless Mouse“ sistemoje „Windows 10“
Pelės ar klaviatūros naudojimas netinkamoje laikysenoje, kai naudojama per daug, gali sukelti daug sveikatos problemų, įskaitant įtampą, riešo kanalo ...
Pridėkite pelės gestus prie „Windows 10“ naudodami šiuos nemokamus įrankius
Pastaraisiais metais kompiuteriai ir operacinės sistemos labai išsivystė. Buvo laikas, kai vartotojai turėjo naudoti komandas naršydami per failų tvar...