Node.js jaoks on lihtne Google Auth

5 Lihtsad sammud Google'iga integreerimiseks - kaasatud kood.

Mu silmad paisusid pisaratest , kui mõistsin, et viimased 10 tundi oli kodeerimine asjatu ... Passport.js oli mulle ja selle maailma inimestele andnud vale lootuse.

Ma pole kindel, kas olete kunagi vaadanud Passport.js teegi koodi, kuid seda pole eriti palju ja see pole ka eriti hea. Põhimõtteliselt on see natuke kood, mis tagab, et teie autentimismandaadid on õiges kohas. Kuid selle suur puudus on see, et see tapab teie paindlikkuse. Passiga peate oma tagasihelistamise taotlused serverisse suunama. Kui te ei tea, mida see tähendab; põhimõtteliselt on see ime, kui loote muud rakendust peale serveri renderdatud rakenduse (nt üheleheline rakendus või SPA).

Kuid ärge muretsege! Siin on kiire õpetus, mis näitab teile, kuidas Google Auth korralikult lisada.

Enne alustamist ️

Selles õpetuses eeldatakse, et teil on:

  1. JavaScripti ja Node.js hea tundmine
  2. Rakendus serveriga

Vinge, lähme!

1. samm: sõltuvuste installimine 🖥

Ainult üks - see on NPM-is, kui te seda juba ei eeldanud.

  • googleapis

See oli lihtne!

2. samm: konfigureerige Google

Järgmisena peate teek oma mandaatidega konfigureerima, et Google teaks, kes taotlusi esitab.

Volituste saamiseks - kui teil neid veel pole - minge oma Google'i konsooli ja looge uus projekt. Kui teil on uus projekt, taotlege mõnda API-võtmeid. Siin on hea link selle kohta lisateabe saamiseks.

Fail: src / google-util.js

Ülaltoodud fail; impordib raamatukogu, loob meie objektidega konfiguratsiooniobjekti ja lisab funktsiooni, mis loob ühenduse Google'iga, kui me seda soovime.

3. samm: hankige Google'i sisselogimise URL

Miks me seda vajame?… Noh, selleks, et saaksime kellegi Google'i sisse logida, peame saatma ta Google'i sisselogimislehele. Siit logivad nad oma kontole sisse ja seejärel suunatakse nad meie sisselogimisandmetega meie rakendusse.

Fail: src / google-util.js

Ülaltoodud kood teeb mõned asjad; see määrab, millist teavet ja õigusi kasutajalt sisselogimisel soovime ja loob funktsiooni, mida kasutame URL-i genereerimiseks. Lõpuks loome funktsiooni, mis genereerib URL-i, mille peate saatma kliendile.

4. samm: teie kord - suunake oma kasutajad Google'i URL-i

Selle sammu jaoks peate saatma kasutajad oma äsja loodud URL-ile. Ma genereerin oma rakenduses URL-i API-s ja saadan selle oma kasutajaliidesele, kus ma teen selle nupu href-aadressiks, nt.

 Logi sisse Google'iga 

See viib kasutaja sisselogimislehele.

Veaotsing: kui jõuate lehele, mis ütleb teile, et teil pole juurdepääsu (või midagi sarnast), võib see tähendada, et te pole Google'i projekti mandaati õigesti konfigureerinud. Veenduge, et olete need oma Google'i konsoolis õigesti seadistanud.

5. samm: salvestage sisselogimise üksikasjad

Loodetavasti oleksite saanud oma google'i kontole sisse logida ja Google oleks teid uuesti oma rakendusse (või ümbersuunamisaadressi, millele te käskisite minna). Nüüd peame vaid kontrollima, kas konto, kuhu nad sisse logisid, sobib meie andmebaasi kasutajaga (või luua see).

Selleks on Google andnud meile ümbersuunamisaadressi parameetri, mille nimi on “kood”. Näete seda järgmiselt:

https://yourwebsite.com/callback?code=a-bunch-of-random-characters

Peate selle „koodi” parameetri ekstraheerima ja andma Google'i API-teekile tagasi, et kontrollida, kes on sisse loginud kasutaja. Siin on hea NPM-i pakett, mis aitab teil parameetri ekstraheerida, kuid pole vahet, kuidas seda teete.

Kui teil on parameeter „kood” ja olete selle oma serverisse saatnud, saame kasutaja e-posti aadressi ja ID-d meie rakenduses kasutamiseks.

Fail: src / google-util.js

Nüüd peate vaid kontrollima e-posti aadressi või ID-d oma andmebaasi abil ja logima kasutaja sisse või logima sisse - see on teie enda asi!

Täisversioon

Siin on koodi täisversioon ilma kõigi kommentaarideta. Kasutage seda hea ülevaate saamiseks. Kui te takerdute, kontrollige ülaltoodud näiteid koos selgitustega.

Yahoooo !!

Teie rakendus toetab nüüd Google'i. Kõigile muudele Google'i API-dele juurdepääsu saamiseks lisage need lihtsalt oma „ulatuste” massiivi ja kui kasutaja sisse logib, palutakse neil anda teile juurdepääs nendele andmetele, nt. Google'i kalendri andmed.

Kui teile see artikkel meeldis, palun andke sellele mõni plaksutus (võite jätta kuni 50) või kui teil on küsimusi, kommenteerige oma arvamust! Annan endast parima, et vastata!

Jälgi mind Twitteris.

Aitäh!

Autentikaatori asutajate loodud artikkel - teie rakenduse lihtne ja kiire autentimine.

Veel postitusi Jack Scott.

  • Kuidas ma käivitasin ettevõtte käivitamise 4 päeva jooksul
  • Looge täielik GraphQL Server saidiga Node.js
  • Hüvasti Redux